From adtp at hotmail.com Tue May 1 00:18:04 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 1 May 2007 10:48:04 +0530 Subject: [AccessD] Reports to Excel References: Message-ID: Mark, You might be able to get some working ideas from two of my sample db's mentioned below: (a) Reports_AccessToExcelAndWord (b) ExportAccessToExcelMultiSheets These are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Mark A Matte To: accessd at databaseadvisors.com Sent: Tuesday, May 01, 2007 02:14 Subject: Re: [AccessD] Reports to Excel Thanks Jim and John, I used... ".Columns.Borders.Color = vbBlack" ...and this seemed to do the trick... The export will have a different number of columns and rows each time. The above method puts a border around every cell in the worksheet...not just the data. If I could isolate just the cells with data...it might look better...but this will get me by. The 'macro recording' gave me a longer approach...but it was dependant on a range...which I'm not sure how to get. Any ideas? Thanks, Mark A. Matte From accessd666 at yahoo.com Tue May 1 03:54:16 2007 From: accessd666 at yahoo.com (Sad Der) Date: Tue, 1 May 2007 01:54:16 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! Message-ID: <36259.86248.qm@web31605.mail.mud.yahoo.com> Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Gustav at cactus.dk Tue May 1 04:07:08 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 11:07:08 +0200 Subject: [AccessD] Reports to Excel Message-ID: Hi Mark You really should clean up the code. Indeed, get rid of all the Selection stuff you do not need (that's most if not all of it) and replace with Ranges - if you don't, your code will look like, well, it has been created by the Macro Recorder! /gustav >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> As Jim mentioned, you might want to clean up the code, but you don't have to. From Gustav at cactus.dk Tue May 1 04:36:26 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 11:36:26 +0200 Subject: [AccessD] Set recordsource of a form dynamically?! Message-ID: Hi Sander Your gDataSvr.GetConnection() might return just a connection string and not a Connection object ...? /gustav >>> accessd666 at yahoo.com 01-05-2007 10:54 >>> Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander From jwcolby at colbyconsulting.com Tue May 1 04:41:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 05:41:04 -0400 Subject: [AccessD] Dot Net, where to start? In-Reply-To: <001a01c78b97$5d2e33a0$7d7d6c4c@jisshowsbs.local> References: <0JHB006MNTMD9X70@l-daemon> <46367238.6060600@shaw.ca> <001a01c78b97$5d2e33a0$7d7d6c4c@jisshowsbs.local> Message-ID: <003401c78bd4$d92a1590$657aa8c0@m6805> LOL. Me? Obtuse? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Monday, April 30, 2007 10:21 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Dot Net, where to start? ...obtuse, eh ...no wonder JC is so enamored of it :) William Hindman ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Monday, April 30, 2007 6:48 PM Subject: Re: [AccessD] Dot Net, where to start? >I would suggest, it is somewhere between 90 and 180 degrees, > just so it could be an obtuse angle. > > Jim Lawrence wrote: > >>Hi All: >> >>My 2 cents on this is that most if not all developers on the Access List >>are >>working on or/and will be moving towards Dot Net at one point. I see the >>progress more as a migration process something like a 90 degree turn not >>as >>a 180. >> >>Jim >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust >>Sent: Monday, April 30, 2007 10:55 AM >>To: Access Developers discussion and problem solving >>Subject: Re: [AccessD] Dot Net, where to start? >> >>Does it belong in this list? Also, there are differences between VS >>2003 and VS 2005 when it comes to creating typed datasets. >> >>Charlotte >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >>Sent: Monday, April 30, 2007 5:01 AM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Dot Net, where to start? >> >>Hi Charlotte >> >>Yes, that sounds like a learning experience. >> >>/gustav >> >> >> >>>>>kp at sdsonline.net 30-04-2007 04:31 >>> >>>>> >>>>> >>Charlotte - any chance of stepping us dot net newbies thru an example of >>what you mean? >> >>Kath >> ----- Original Message ----- >> From: Charlotte Foust >> To: Access Developers discussion and problem solving >> Sent: Saturday, April 28, 2007 2:18 AM >> Subject: Re: [AccessD] Dot Net, where to start? >> >> >> The chapters on ADO.Net give a good overview of datasets, data >>providers >> and the actual relational objects (tables, views, etc.), and it also >> compares ADO.Net and ADO as well. But I haven't seen any books >> describing the data tier structures in the way we built them. Most of >> the books start with directly binding a form to a data adapter, and we >> work the other way around. We build data "entities" that implement >> typed datasets and expose the behaviors and methods we need. We can >> then drop one of those entities on a form or report to provide the >>data >> connections we need. The working code is actually in a dataprovider >> class with the entity containing calls to the dataprovider and even to >> other entities if need be. >> >> Our model has evolved as we developed the apps and figured out what >> worked, and we have "refactored" (a much overused work in our shop) >>the >> bits and pieces many times over the course of the past two years. >> >> Charlotte Foust >> >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com >> >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd666 at yahoo.com Tue May 1 04:51:28 2007 From: accessd666 at yahoo.com (Sad Der) Date: Tue, 1 May 2007 02:51:28 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! SOLVED In-Reply-To: Message-ID: <686606.72642.qm@web31606.mail.mud.yahoo.com> Gustav, Thnx for the reply. It returns a connection object. Here's the code that works, i had to use SET Me.RECORDSET Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Set Me.Recordset = rstSource Set rstSource = Nothing --- Gustav Brock wrote: > Hi Sander > > Your gDataSvr.GetConnection() might return just a > connection string and not a Connection object ...? > > /gustav > > >>> accessd666 at yahoo.com 01-05-2007 10:54 >>> > Hi group, > > I'm using an A2k2 ADP with an SQL Server 2000 > database. > In the File=>Connection properties there is a > connection to the development server. > > Using an ini file I dynamically connect to the > production server via a class cDataSvr. > > In a module I've declared the following: > Public gDataSvr = cDataSvr > > In the load event of a form I instantiate a > recordset > using gDataSvr. > > When I try the the line: > ?gDataSvr.GetConnection I get the connection > settings > of the production server. > > I've tried the following code: > > Dim rstSource As ADODB.Recordset > Set rstSource = New ADODB.Recordset > > With rstSource > .ActiveConnection = gDataSvr.GetConnection() > .Source = "select * from treport" > .Open > End With > > Me.RecordSource = rstSource.Source > > Set rstSource = Nothing > > To my surprise I received DEVELOPMENT data instead > of > PRODUCTION data!?! > > My question: > How do tell the form to use the connection of > gDataSvr > and NOT the connection instantiated in > File=>Connection?!?! > > Regards, > > Sander > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Tue May 1 06:06:03 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 07:06:03 -0400 Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net In-Reply-To: <0JHC007TC404LIX4@vms048.mailsrvcs.net> References: <004301c7868a$9e6cd590$657aa8c0@m6805> <0JHC007TC404LIX4@vms048.mailsrvcs.net> Message-ID: <004601c78be0$bae455d0$657aa8c0@m6805> Is there any way to have SQL Server export a spec for a table that bulk copy can use, at least what the fields look like etc? I have never used bulk copy and there are a LOT of fields in the table. Alternately is there somewhere that I can find the bulk copy spec, what the format file is supposed to look like? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS From jwcolby at colbyconsulting.com Tue May 1 07:49:20 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 08:49:20 -0400 Subject: [AccessD] using a saved SSIS with VB.Net In-Reply-To: <0JHC007TC404LIX4@vms048.mailsrvcs.net> References: <004301c7868a$9e6cd590$657aa8c0@m6805> <0JHC007TC404LIX4@vms048.mailsrvcs.net> Message-ID: <004f01c78bef$264cf210$657aa8c0@m6805> Eric, I have successfully generated the fmt file. My only concern at this point is that the import file has spaces at the end of the valid data, padding to make up the full width of the field. I do NOT want the spaces, and I suspect that BCP is going to pull in all of the spaces. Is it possible to tell BCP to strip the spaces, or is it possible to use BCP to pull a CSV file into an existing table, respecting the already established field types / sizes in the destination table? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, April 24, 2007 9:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net The CSV file is on the same machine. It appears that the clause that pulls the source table (csv file) into memory is taking a ton of time. These are large files, the smallest are a little under 200 million bytes and the largest are up in the 3 gigabyte range. It appears that SQL Server does not read a few records and append them, but rather reads the whole CSV and then starts appending all of the assembled records. If I were a SQL Server pro I could probably speed this up considerably. Alas, I am not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Tuesday, April 24, 2007 11:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net John, One of the keys to getting it into SQL Server faster is to have the CSV file on the server and not on a different machine. Network traffic can kill the process and slow it down significantly. Robert At 10:22 AM 4/24/2007, you wrote: >Date: Tue, 24 Apr 2007 10:32:44 -0400 >From: "JWColby" >Subject: Re: [AccessD] using a saved SSIS with VB.Net >To: "'Access Developers discussion and problem solving'" > >Message-ID: <003101c7867d$6cce93a0$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Gustav, > >My bigger issue here is that there 56 of these files to import into SQL >Server, supposedly ~100 million records. I have done about 8 million >records so far. I really must get this thing automated such that it >just chunks through these CSV files without my having to be around to >start the next one. I am working now on setting up the append query >using that syntax below into a stored procedure so that I can then just replace the file name. >After that I will need to write something in VB.Net or whatever to >execute the stored procedure feeding in all of the file names from a >specific directory, deleting the file once the stored procedure >finishes the import for a given file. > >I have never written a stored procedure. >Obviously, given the above, I have never called a stored procedure from >code. > >So much to learn, so little time. > >Once this is imported I have to turn right around and export a subset >of fields from the table back out as 1 - 2 million record chunks for >CAS / DPV / NCOA processing, then I have to import THOSE back in to a >new table. > >And when this set of data is finished, I have another set of about the >same size on the way, to which I have to perform the same processes. I >soooooo need to get this process automated. > >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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.463 / Virus Database: 269.5.10/774 - Release Date: 4/23/2007 5:26 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Tue May 1 09:06:36 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 01 May 2007 07:06:36 -0700 Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net In-Reply-To: <004601c78be0$bae455d0$657aa8c0@m6805> Message-ID: <0JHD003UK8HKBT22@vms042.mailsrvcs.net> John, This is the SQL query I use to get the field names... DECLARE @TableName varchar(50) SET @TableName = 'tmpemployees' SELECT syscolumns.name AS DBFieldNames, syscolumns.type AS DataType, (syscolumns.length/2) AS DataLength FROM sysobjects INNER JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.name = @TableName ORDER BY colorder Here's what I came across when I googled it... http://www.thescripts.com/forum/thread520822.html 8.0 5 1 SQLCHAR 0 0 ";\"" 1 col1 "" 2 SQLCHAR 0 0 "\";" 2 col2 "" 3 SQLCHAR 0 0 ";" 3 col3 "" 4 SQLCHAR 0 0 ";" 4 col3 "" 5 SQLCHAR 0 0 "\r\n" 5 col3 "" The first row is the version of the file format. Next is the number of fields in the file. Following lines describe one field each. First column is record number. Second column is data type of the field in the file. For a text file this is always SQLCHAR or always SQLNCHAR for a Unicode file. Other data types are only used with binary formats. The third column is prefix-length, used only for binary files. Fourth column is the length, and is used for fixed-length fields. Fifth field is the terminator, and it is here you specify the quotes. Six column is the database column, with 1 denoting the first column. 0 means that this field is not to be imported. Seventh column is the column name, but it's informational. BCP/BULK INSERT does not use it. Last colunm is the collation for the data in the file. Overall, keep in mind that BCP/BULK INSERT reads a binary file and a row terminator is really only the terminator for the last field. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 4:06 AM To: 'Access Developers discussion and problem solving' Cc: dba-sqlserver at databaseadvisors.com Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net Is there any way to have SQL Server export a spec for a table that bulk copy can use, at least what the fields look like etc? I have never used bulk copy and there are a LOT of fields in the table. Alternately is there somewhere that I can find the bulk copy spec, what the format file is supposed to look like? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 5/1/2007 2:10 AM From ebarro at verizon.net Tue May 1 09:16:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 01 May 2007 07:16:05 -0700 Subject: [AccessD] using a saved SSIS with VB.Net In-Reply-To: <004f01c78bef$264cf210$657aa8c0@m6805> Message-ID: <0JHD0096Z8XC1WT7@vms042.mailsrvcs.net> John, Based on what I have seen so far, it will not strip the spaces so I usually create a TEMP table and BULK INSERT the data to that temp table and then RTRIM the fields when I import to the real table. Here's the code I used to import padded records from Peoplesoft... -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), [....snipped the rest of the fields in between] Email varchar(50) ) -- Read the text file into the temp table BULK INSERT #tmpEmployees FROM 'ImportData.csv' WITH (FORMATFILE = 'ImportData.fmt' -- Now read it into Employees table (this assumes same number of fields as the importdata file otherwise we need to spell out each field) INSERT INTO Employees SELECT RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, [....snipped the rest of the fields in between] RTRIM(email) as email FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 5:49 AM To: 'Access Developers discussion and problem solving' Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net Eric, I have successfully generated the fmt file. My only concern at this point is that the import file has spaces at the end of the valid data, padding to make up the full width of the field. I do NOT want the spaces, and I suspect that BCP is going to pull in all of the spaces. Is it possible to tell BCP to strip the spaces, or is it possible to use BCP to pull a CSV file into an existing table, respecting the already established field types / sizes in the destination table? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, April 24, 2007 9:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net The CSV file is on the same machine. It appears that the clause that pulls the source table (csv file) into memory is taking a ton of time. These are large files, the smallest are a little under 200 million bytes and the largest are up in the 3 gigabyte range. It appears that SQL Server does not read a few records and append them, but rather reads the whole CSV and then starts appending all of the assembled records. If I were a SQL Server pro I could probably speed this up considerably. Alas, I am not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Tuesday, April 24, 2007 11:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net John, One of the keys to getting it into SQL Server faster is to have the CSV file on the server and not on a different machine. Network traffic can kill the process and slow it down significantly. Robert At 10:22 AM 4/24/2007, you wrote: >Date: Tue, 24 Apr 2007 10:32:44 -0400 >From: "JWColby" >Subject: Re: [AccessD] using a saved SSIS with VB.Net >To: "'Access Developers discussion and problem solving'" > >Message-ID: <003101c7867d$6cce93a0$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Gustav, > >My bigger issue here is that there 56 of these files to import into SQL >Server, supposedly ~100 million records. I have done about 8 million >records so far. I really must get this thing automated such that it >just chunks through these CSV files without my having to be around to >start the next one. I am working now on setting up the append query >using that syntax below into a stored procedure so that I can then just replace the file name. >After that I will need to write something in VB.Net or whatever to >execute the stored procedure feeding in all of the file names from a >specific directory, deleting the file once the stored procedure >finishes the import for a given file. > >I have never written a stored procedure. >Obviously, given the above, I have never called a stored procedure from >code. > >So much to learn, so little time. > >Once this is imported I have to turn right around and export a subset >of fields from the table back out as 1 - 2 million record chunks for >CAS / DPV / NCOA processing, then I have to import THOSE back in to a >new table. > >And when this set of data is finished, I have another set of about the >same size on the way, to which I have to perform the same processes. I >soooooo need to get this process automated. > >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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.463 / Virus Database: 269.5.10/774 - Release Date: 4/23/2007 5:26 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 5/1/2007 2:10 AM From jwcolby at colbyconsulting.com Tue May 1 09:20:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 10:20:32 -0400 Subject: [AccessD] Importing large data files Message-ID: <005801c78bfb$e13b23b0$657aa8c0@m6805> I have been struggling to get large data files to import into SQL Server in a manner that won't take weeks to complete. I was trying to use CSV files to get around the trailing (and occasionally leading) spaces in the data fields caused by fixed width / space padded fields in the source text files. So I created a program in MS Access to read the source file, line by line, carve out each data element, strip the spaces, then when an entire line was assembled, write that back out to a new csv file. The next issue I ran into is that SQL Server doesn't know how to deal with text qualifiers, which are commonly used in CSV files to encapsulate commas inside of data, IOW if a comma is the delimiter, then the data is enclosed in quotes: "51 Some Street, Ste2001", "Some City". In THIS CASE, since I control the intermediary file, I am able to change from a space delimiter to a | delimiter and remove the quotes. Thus the previous example turns into 51 Some Street, Ste2001|Some City| This can be imported into SQL Server without an issue since I can specify the FIELDTERMINATOR parameter to the bulk insert in a query. Using bulk insert pulled my import up from 300-400 records per second to almost one thousand records per second. Not blazing but with 100 million records to import, it is a significant improvement in total time to import. John W. Colby Colby Consulting www.ColbyConsulting.com From jimdettman at verizon.net Tue May 1 09:41:50 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 01 May 2007 10:41:50 -0400 Subject: [AccessD] Importing large data files In-Reply-To: <005801c78bfb$e13b23b0$657aa8c0@m6805> References: <005801c78bfb$e13b23b0$657aa8c0@m6805> Message-ID: <00a701c78bfe$db2ef430$8abea8c0@XPS> John, Nice work. As an aside, I'm seeing the vertical pipe character used more and more as a delimiter. Never seems to occur normally in data and it still leaves the file fairly easy to read. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 10:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Importing large data files I have been struggling to get large data files to import into SQL Server in a manner that won't take weeks to complete. I was trying to use CSV files to get around the trailing (and occasionally leading) spaces in the data fields caused by fixed width / space padded fields in the source text files. So I created a program in MS Access to read the source file, line by line, carve out each data element, strip the spaces, then when an entire line was assembled, write that back out to a new csv file. The next issue I ran into is that SQL Server doesn't know how to deal with text qualifiers, which are commonly used in CSV files to encapsulate commas inside of data, IOW if a comma is the delimiter, then the data is enclosed in quotes: "51 Some Street, Ste2001", "Some City". In THIS CASE, since I control the intermediary file, I am able to change from a space delimiter to a | delimiter and remove the quotes. Thus the previous example turns into 51 Some Street, Ste2001|Some City| This can be imported into SQL Server without an issue since I can specify the FIELDTERMINATOR parameter to the bulk insert in a query. Using bulk insert pulled my import up from 300-400 records per second to almost one thousand records per second. Not blazing but with 100 million records to import, it is a significant improvement in total time to import. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Tue May 1 10:13:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 01 May 2007 15:13:57 +0000 Subject: [AccessD] Reports to Excel In-Reply-To: Message-ID: Thanks A.D., I will take a look at them. Thanks, Mark A. Matte >From: "A.D.TEJPAL" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 1 May 2007 10:48:04 +0530 > >Mark, > > You might be able to get some working ideas from two of my sample db's >mentioned below: > (a) Reports_AccessToExcelAndWord > (b) ExportAccessToExcelMultiSheets > > These are available at Rogers Access Library (other developers >library). Link - >http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. > >Best wishes, >A.D.Tejpal >--------------- > > ----- Original Message ----- > From: Mark A Matte > To: accessd at databaseadvisors.com > Sent: Tuesday, May 01, 2007 02:14 > Subject: Re: [AccessD] Reports to Excel > > > Thanks Jim and John, > > I used... > ".Columns.Borders.Color = vbBlack" > ...and this seemed to do the trick... > > The export will have a different number of columns and rows each time. >The above method puts a border around every cell in the worksheet...not >just the data. > > If I could isolate just the cells with data...it might look better...but > this will get me by. > > The 'macro recording' gave me a longer approach...but it was dependant >on a range...which I'm not sure how to get. > > Any ideas? > > Thanks, > > Mark A. Matte >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Mortgage rates near historic lows. Refinance $200,000 loan for as low as $771/month* https://www2.nextag.com/goto.jsp?product=100000035&url=%2fst.jsp&tm=y&search=mortgage_text_links_88_h27f8&disc=y&vers=689&s=4056&p=5117 From markamatte at hotmail.com Tue May 1 10:16:01 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 01 May 2007 15:16:01 +0000 Subject: [AccessD] Reports to Excel In-Reply-To: Message-ID: Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ MSN is giving away a trip to Vegas to see Elton John.? Enter to win today. http://msnconcertcontest.com?icid-nceltontagline From Gustav at cactus.dk Tue May 1 10:41:07 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 17:41:07 +0200 Subject: [AccessD] Reports to Excel Message-ID: Hi Mark That's what I mean. Unless you wish the user to sit and watch what's going on, make the worksheet invisible, set a range and not a selection, and operate on the range. For example: Dim rng As Range Set rng = .Range("A1:AC1") With rng.Font .Bold = True .Name = "Arial" .Size = 12 End With Set rng = Nothing Much faster too. /gustav >>> markamatte at hotmail.com 01-05-2007 17:16 >>> Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. From accessd at shaw.ca Tue May 1 11:09:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 01 May 2007 09:09:06 -0700 Subject: [AccessD] Set recordsource of a form dynamically?! In-Reply-To: <36259.86248.qm@web31605.mail.mud.yahoo.com> Message-ID: <0JHD00D7FE0ATON0@l-daemon> Hi Gustav: What connection string is the class/collection/type gDataSvr.GetConnection() returning? Debug.print gDataSvr.GetConnection() Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Tuesday, May 01, 2007 1:54 AM To: Acces User Group Subject: [AccessD] Set recordsource of a form dynamically?! Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Tue May 1 11:05:15 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 1 May 2007 11:05:15 -0500 Subject: [AccessD] Reports to Excel In-Reply-To: References: Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B5D94@karta-exc-int.Karta.com> The other issue when the user is watching the Excel sheet updating, if the user gets impatient and clicks anywhere in the active Excel window - the code stops and an error is generated. If it's a long process, I'd recommend a progress bar to let the user know it's still working. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 01, 2007 10:41 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Reports to Excel Hi Mark That's what I mean. Unless you wish the user to sit and watch what's going on, make the worksheet invisible, set a range and not a selection, and operate on the range. For example: Dim rng As Range Set rng = .Range("A1:AC1") With rng.Font .Bold = True .Name = "Arial" .Size = 12 End With Set rng = Nothing Much faster too. /gustav >>> markamatte at hotmail.com 01-05-2007 17:16 >>> Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 1 14:30:12 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 1 May 2007 23:30:12 +0400 Subject: [AccessD] Dot Net, where to start? In-Reply-To: <46367238.6060600@shaw.ca> Message-ID: <001201c78c27$232b4540$6501a8c0@nant> I'd say that with VB.NET (and .NET Framework) you are getting opportunity to see and to control the 3rd (4th,... etc.) dimensions after you have been living in two dimensional flat world in your "previous MS Access life"... (please recall how much times you were getting stuck or needed to do "dirty tricks" to overcome MS Access/VBA/VB6 limitations...) And that above sentence is not a "poetic metaphor/hyperbole" - you're really getting armored with the tools to investigate unexplored in usual MS Access development areas - and you can do that with extreme ease and flexibility you have never seen/experienced before... Still MS Access/MS Office are great and RAD tools of course - one (experienced/professional) MS Access/Office developer "just" has to be aware of their limitations and to not create false illusions/expectations not for oneself not for one self's customers... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Tuesday, May 01, 2007 2:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Dot Net, where to start? I would suggest, it is somewhere between 90 and 180 degrees, just so it could be an obtuse angle. Jim Lawrence wrote: >Hi All: > >My 2 cents on this is that most if not all developers on the Access List are >working on or/and will be moving towards Dot Net at one point. I see the >progress more as a migration process something like a 90 degree turn not as >a 180. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust >Sent: Monday, April 30, 2007 10:55 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] Dot Net, where to start? > >Does it belong in this list? Also, there are differences between VS >2003 and VS 2005 when it comes to creating typed datasets. > >Charlotte > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, April 30, 2007 5:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Dot Net, where to start? > >Hi Charlotte > >Yes, that sounds like a learning experience. > >/gustav > > > >>>>kp at sdsonline.net 30-04-2007 04:31 >>> >>>> >>>> >Charlotte - any chance of stepping us dot net newbies thru an example of >what you mean? > >Kath > ----- Original Message ----- > From: Charlotte Foust > To: Access Developers discussion and problem solving > Sent: Saturday, April 28, 2007 2:18 AM > Subject: Re: [AccessD] Dot Net, where to start? > > > The chapters on ADO.Net give a good overview of datasets, data >providers > and the actual relational objects (tables, views, etc.), and it also > compares ADO.Net and ADO as well. But I haven't seen any books > describing the data tier structures in the way we built them. Most of > the books start with directly binding a form to a data adapter, and we > work the other way around. We build data "entities" that implement > typed datasets and expose the behaviors and methods we need. We can > then drop one of those entities on a form or report to provide the >data > connections we need. The working code is actually in a dataprovider > class with the entity containing calls to the dataprovider and even to > other entities if need be. > > Our model has evolved as we developed the apps and figured out what > worked, and we have "refactored" (a much overused work in our shop) >the > bits and pieces many times over the course of the past two years. > > Charlotte Foust > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd666 at yahoo.com Wed May 2 06:44:12 2007 From: accessd666 at yahoo.com (Sad Der) Date: Wed, 2 May 2007 04:44:12 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! In-Reply-To: <0JHD00D7FE0ATON0@l-daemon> Message-ID: <959320.34875.qm@web31601.mail.mud.yahoo.com> Thnx for the reply but I already solved it. Btw it doesn't return a string but a ADODB.COnnection: Private madoConn As ADODB.Connection 'ADOConnectie Public Function CreateConnection(...params...) As ADODB.Connection ... Set CreateConnection = madoConn End Function Sander --- Jim Lawrence wrote: > Hi Gustav: > > What connection string is the class/collection/type > gDataSvr.GetConnection() > returning? > > Debug.print gDataSvr.GetConnection() > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Sad Der > Sent: Tuesday, May 01, 2007 1:54 AM > To: Acces User Group > Subject: [AccessD] Set recordsource of a form > dynamically?! > > Hi group, > > I'm using an A2k2 ADP with an SQL Server 2000 > database. > In the File=>Connection properties there is a > connection to the development server. > > Using an ini file I dynamically connect to the > production server via a class cDataSvr. > > In a module I've declared the following: > Public gDataSvr = cDataSvr > > In the load event of a form I instantiate a > recordset > using gDataSvr. > > When I try the the line: > ?gDataSvr.GetConnection I get the connection > settings > of the production server. > > I've tried the following code: > > Dim rstSource As ADODB.Recordset > Set rstSource = New ADODB.Recordset > > With rstSource > .ActiveConnection = gDataSvr.GetConnection() > .Source = "select * from treport" > .Open > End With > > Me.RecordSource = rstSource.Source > > Set rstSource = Nothing > > To my surprise I received DEVELOPMENT data instead > of > PRODUCTION data!?! > > My question: > How do tell the form to use the connection of > gDataSvr > and NOT the connection instantiated in > File=>Connection?!?! > > Regards, > > Sander > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam > protection around > http://mail.yahoo.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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From accessd666 at yahoo.com Wed May 2 06:46:53 2007 From: accessd666 at yahoo.com (Sad Der) Date: Wed, 2 May 2007 04:46:53 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <795965.75474.qm@web31607.mail.mud.yahoo.com> Hi, Does anybody have experience with FMS Inc. (.Net) Sourcebook? http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share E.g.: - is it workable when working on a project? - what problems did you face with implementation? - is it being used by multiple developers? - etc. Are there good alternatives? TIA Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Wed May 2 07:49:12 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 08:49:12 -0400 Subject: [AccessD] Speed of bulk insert Message-ID: <004301c78cb8$4d611e70$657aa8c0@m6805> Interestingly, the speed of import has either - jumped from ~1K records / second to about 11K records / second, OR - I previously missed a decimal place (though the times required earlier on were still quite large so I don't think that's it). In any event ATM I am getting a speed consistently around 11K / second for a bulk insert operation. That is a significant event in my ability to expeditiously process 100 million records. John W. Colby Colby Consulting www.ColbyConsulting.com From garykjos at gmail.com Wed May 2 08:01:39 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 08:01:39 -0500 Subject: [AccessD] Speed of bulk insert In-Reply-To: <004301c78cb8$4d611e70$657aa8c0@m6805> References: <004301c78cb8$4d611e70$657aa8c0@m6805> Message-ID: Now you just need to train your SETI array of PC's to all work on it together. GK On 5/2/07, JWColby wrote: > Interestingly, the speed of import has either - jumped from ~1K records / > second to about 11K records / second, OR - I previously missed a decimal > place (though the times required earlier on were still quite large so I > don't think that's it). In any event ATM I am getting a speed consistently > around 11K / second for a bulk insert operation. That is a significant > event in my ability to expeditiously process 100 million records. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Wed May 2 08:08:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:08:32 -0400 Subject: [AccessD] Speed of bulk insert In-Reply-To: References: <004301c78cb8$4d611e70$657aa8c0@m6805> Message-ID: <004b01c78cba$fedd9a50$657aa8c0@m6805> ROTFL. If ONLY YOU KNEW!!! I tried yesterday to do the unzips of the files (a manual process atm) on another computer because those operations specifically seem to really tie the computer up in knots. And of course I got crap about "privileges". I can see the files on the server, I just can't do an update / add (unzip) to those directories. But if I go look at the privileges the "everyone" user can see and do whatever they want to these directories. Computers are SUCH a PITA sometimes. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 9:02 AM To: Access Developers discussion and problem solving Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [AccessD] Speed of bulk insert Now you just need to train your SETI array of PC's to all work on it together. GK On 5/2/07, JWColby wrote: > Interestingly, the speed of import has either - jumped from ~1K > records / second to about 11K records / second, OR - I previously > missed a decimal place (though the times required earlier on were > still quite large so I don't think that's it). In any event ATM I am > getting a speed consistently around 11K / second for a bulk insert > operation. That is a significant event in my ability to expeditiously process 100 million records. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 garykjos at gmail.com Wed May 2 08:22:35 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 08:22:35 -0500 Subject: [AccessD] Speed of bulk insert In-Reply-To: <004b01c78cba$fedd9a50$657aa8c0@m6805> References: <004301c78cb8$4d611e70$657aa8c0@m6805> <004b01c78cba$fedd9a50$657aa8c0@m6805> Message-ID: Yeah, only sometimes ;-) I've been beating my head against Windows VISTA user rights recently myself. And that is on the same machine where I am the only user. It won't let me open the MY DOCUMENTS folder from Explorer unless I go through the shortcut to get there. Grrrrrr. I've given up on it for now. I do it the way it lets me and just complain about it each time. Glad you are making progress anyway. And for keeping us posted. GK On 5/2/07, JWColby wrote: > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: > > Interestingly, the speed of import has either - jumped from ~1K > > records / second to about 11K records / second, OR - I previously > > missed a decimal place (though the times required earlier on were > > still quite large so I don't think that's it). In any event ATM I am > > getting a speed consistently around 11K / second for a bulk insert > > operation. That is a significant event in my ability to expeditiously > process 100 million records. > > > > John W. Colby > > Colby Consulting > > www.ColbyConsulting.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 > > -- > 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 wdhindman at dejpolsystems.com Wed May 2 08:26:58 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 2 May 2007 09:26:58 -0400 Subject: [AccessD] Speed of bulk insert References: <004301c78cb8$4d611e70$657aa8c0@m6805> <004b01c78cba$fedd9a50$657aa8c0@m6805> Message-ID: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> "Computers are SUCH a PITA sometimes." JC ...obtuse, even ...the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 02, 2007 9:08 AM Subject: Re: [AccessD] Speed of bulk insert > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) > to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: >> Interestingly, the speed of import has either - jumped from ~1K >> records / second to about 11K records / second, OR - I previously >> missed a decimal place (though the times required earlier on were >> still quite large so I don't think that's it). In any event ATM I am >> getting a speed consistently around 11K / second for a bulk insert >> operation. That is a significant event in my ability to expeditiously > process 100 million records. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 2 08:35:36 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:35:36 -0400 Subject: [AccessD] Speed of bulk insert In-Reply-To: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> References: <004301c78cb8$4d611e70$657aa8c0@m6805><004b01c78cba$fedd9a50$657aa8c0@m6805> <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> Message-ID: <004f01c78cbe$c4da1550$657aa8c0@m6805> >the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) Which is still better than the wife. She insists on doing what she THOUGHT you were asking her to do, which does not even remotely resemble what you actually ASKED her to do, never mind what you really wanted done. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 02, 2007 9:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Speed of bulk insert "Computers are SUCH a PITA sometimes." JC ...obtuse, even ...the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 02, 2007 9:08 AM Subject: Re: [AccessD] Speed of bulk insert > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) > to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: >> Interestingly, the speed of import has either - jumped from ~1K >> records / second to about 11K records / second, OR - I previously >> missed a decimal place (though the times required earlier on were >> still quite large so I don't think that's it). In any event ATM I am >> getting a speed consistently around 11K / second for a bulk insert >> operation. That is a significant event in my ability to expeditiously > process 100 million records. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Wed May 2 08:38:59 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 2 May 2007 09:38:59 -0400 Subject: [AccessD] FMS Inc. Sourcebook References: <795965.75474.qm@web31607.mail.mud.yahoo.com> Message-ID: <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> Sad ...I have a great deal of respect for FMS and most of their tools ...but their source book is just a compendium of code solutions in a nice little code library ...all of which are readily available to you right here or in our archives ...often with better explanations and alternative solutions ...I have their source book for '97 and just never really used it that often because AccessD was always quicker and better imnsho ...and thus when I upgraded some of their other tools I didn't feel source book was worth the extra cost ...others here may differ ...and my opinion is worth exactly what it cost you ...hth. ...btw, they have a small collection of free tools for A97 on their site that they've never upgraded ...but if you dl them and look at the source, they are easily fixed to work with A2003. William Hindman ----- Original Message ----- From: "Sad Der" To: "Acces User Group" Sent: Wednesday, May 02, 2007 7:46 AM Subject: [AccessD] FMS Inc. Sourcebook > Hi, > > Does anybody have experience with FMS Inc. (.Net) > Sourcebook? > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > E.g.: > - is it workable when working on a project? > - what problems did you face with implementation? > - is it being used by multiple developers? > - etc. > > Are there good alternatives? > > TIA > > Sander > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 2 08:56:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:56:26 -0400 Subject: [AccessD] NVARCHAR turned into Text(255) in Access Message-ID: <005001c78cc1$adf4d930$657aa8c0@m6805> I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Wed May 2 09:10:34 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 10:10:34 -0400 Subject: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access In-Reply-To: <005001c78cc1$adf4d930$657aa8c0@m6805> References: <005001c78cc1$adf4d930$657aa8c0@m6805> Message-ID: <005501c78cc3$a737c5b0$657aa8c0@m6805> It turns out that simply changing it to VarChar(8000) works in this case. I tried VarChar(64000) and got a message from SQL Server that 8000 was the max for VarChar. This would have to be described as a bug in the converter however, which could cause data loss (though AFAICT it did not in my case, only because all of my memo fields are shorter than 8K). It also indicates a possible problem with the ODBC driver / connection since a Memo can be up to 64000 characters and VarChar can only be 8K there is a very real possibility of data loss in some cases. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 9:56 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: [dba-SQLServer] NVARCHAR turned into Text(255) in Access I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com From askolits at ot.com Wed May 2 09:47:01 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 10:47:01 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> Message-ID: <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John From paul.hartland at fsmail.net Wed May 2 09:52:36 2007 From: paul.hartland at fsmail.net (paul.hartland at fsmail.net) Date: Wed, 2 May 2007 16:52:36 +0200 (CEST) Subject: [AccessD] No Print dialog box and new Acrobat Message-ID: <11027330.265781178117556497.JavaMail.www@wwinf3101> John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 From garykjos at gmail.com Wed May 2 10:05:36 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 10:05:36 -0500 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> References: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Message-ID: Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 cfoust at infostatsystems.com Wed May 2 10:09:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 08:09:19 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> References: <795965.75474.qm@web31607.mail.mud.yahoo.com> <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> Message-ID: I had the 97 and 2000 versions of their sourcebook and never thought it was worth the price. The .Net product may be better, but I wouldn't count on that. I generally copy and paste my own code from the MS CodeLibrarian or something similar, when I'm not scavenging for ways to do something totally unfamiliar. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 02, 2007 6:39 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook Sad ...I have a great deal of respect for FMS and most of their tools ...but their source book is just a compendium of code solutions in a nice little code library ...all of which are readily available to you right here or in our archives ...often with better explanations and alternative solutions ...I have their source book for '97 and just never really used it that often because AccessD was always quicker and better imnsho ...and thus when I upgraded some of their other tools I didn't feel source book was worth the extra cost ...others here may differ ...and my opinion is worth exactly what it cost you ...hth. ...btw, they have a small collection of free tools for A97 on their site that they've never upgraded ...but if you dl them and look at the source, they are easily fixed to work with A2003. William Hindman ----- Original Message ----- From: "Sad Der" To: "Acces User Group" Sent: Wednesday, May 02, 2007 7:46 AM Subject: [AccessD] FMS Inc. Sourcebook > Hi, > > Does anybody have experience with FMS Inc. (.Net) > Sourcebook? > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > E.g.: > - is it workable when working on a project? > - what problems did you face with implementation? > - is it being used by multiple developers? > - etc. > > Are there good alternatives? > > TIA > > Sander > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.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 askolits at ot.com Wed May 2 10:12:12 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 11:12:12 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: Message-ID: <00ab01c78ccc$42fecb80$6901a8c0@LaptopXP> I'll give it a shot. Thanks. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 11:06 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 jwcolby at colbyconsulting.com Wed May 2 10:21:23 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 11:21:23 -0400 Subject: [AccessD] VB.Net - using an outside DLL Message-ID: <006101c78ccd$8bc36050$657aa8c0@m6805> I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Wed May 2 10:29:43 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 08:29:43 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <006101c78ccd$8bc36050$657aa8c0@m6805> Message-ID: <0JHF009HW71PEG10@vms048.mailsrvcs.net> In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com From ebarro at verizon.net Wed May 2 09:22:00 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 07:22:00 -0700 Subject: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access In-Reply-To: <005501c78cc3$a737c5b0$657aa8c0@m6805> Message-ID: <0JHF00LMC3XZEF5F@vms044.mailsrvcs.net> One caveat with 8000 character field lengths is that SQL server will "spread' the record out to 2 pages when it retrieves the record. In other words, if you want retrieval of SQL data to be efficient you have to ensure that the total field length falls within 8060 characters (equivalent to one page of data). http://www.thescripts.com/forum/thread82625.html -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 7:11 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access It turns out that simply changing it to VarChar(8000) works in this case. I tried VarChar(64000) and got a message from SQL Server that 8000 was the max for VarChar. This would have to be described as a bug in the converter however, which could cause data loss (though AFAICT it did not in my case, only because all of my memo fields are shorter than 8K). It also indicates a possible problem with the ODBC driver / connection since a Memo can be up to 64000 characters and VarChar can only be 8K there is a very real possibility of data loss in some cases. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 9:56 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: [dba-SQLServer] NVARCHAR turned into Text(255) in Access I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com From Patricia.O'Connor at otda.state.ny.us Wed May 2 11:35:24 2007 From: Patricia.O'Connor at otda.state.ny.us (O'Connor, Patricia (OTDA)) Date: Wed, 2 May 2007 12:35:24 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <0J9300G0GHCPHXA1@l-daemon> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon> Message-ID: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. From Lambert.Heenan at AIG.com Wed May 2 11:54:22 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Wed, 2 May 2007 12:54:22 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> Don't worry. It's all just part of the M$ plot to monopolize the multi-media world in an effort to catch up with Apple (for beating M$ to the gun with audio sales). Now we'll all have to pay more for hardware and software because the manufacturers are caving in to M$ and it's demands for DRM-everything. ;-( Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 12:35 PM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- 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 May 2 12:04:28 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 2 May 2007 13:04:28 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> Message-ID: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> One of the several reasons I deem an investment of one day a week in Linux to be a strategically correct play. I haven't got a single customer on that platform, but I do have a couple of boxes running versions (Ubuntu on one and Suse Enterprise 10.1 on another). To date my biggest beef has been the absence of something as easy to use as Access. But Base, in the current rev. of OpenOffice, comes close. On 5/2/07, Heenan, Lambert wrote: > > Don't worry. It's all just part of the M$ plot to monopolize the > multi-media > world in an effort to catch up with Apple (for beating M$ to the gun with > audio sales). > > Now we'll all have to pay more for hardware and software because the > manufacturers are caving in to M$ and it's demands for DRM-everything. > > ;-( > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 12:35 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by > the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad > product > manager for Lenovo. > > Thanks > > > ************************************************** > * Patricia O'Connor > * Associate Computer Programmer Analyst > * OTDA - BDMA > * (W) mailto:Patricia.O'Connor at otda.state.ny.us > * (w) mailto:aa1160 at nysemail.state.ny.us > ************************************************** > -------------------------------------------------------- > This e-mail, including any attachments, may be confidential, privileged or > otherwise legally protected. It is intended only for the addressee. If you > received this e-mail in error or from someone who was not authorized to > send > it to you, do not disseminate, copy or otherwise use this e-mail or its > attachments. Please notify the sender immediately by reply e-mail and > delete the e-mail from your system. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 askolits at ot.com Wed May 2 12:33:35 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 13:33:35 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <11027330.265781178117556497.JavaMail.www@wwinf3101> Message-ID: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 2 12:35:53 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 10:35:53 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: References: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local><009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Message-ID: We've found the same problem with the default set to a virtual printer, like a fax or pdf printer, too. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 8:06 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no > print Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their > network and this problem doesn't happen when other people use their > Log-in on the same PC. > > The only other new thing is that this PC has Adobe 8 which > automatically added the Adobe Acrobat printing feature to the Access > menus. We are thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 garykjos at gmail.com Wed May 2 12:40:21 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 12:40:21 -0500 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> References: <11027330.265781178117556497.JavaMail.www@wwinf3101> <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: Looks like she gets her own printer then eh? ;-) The weirdness continues. GK On 5/2/07, John Skolits wrote: > Here's what my customer found out. > > ----- > > The problem is defiantly linked to the printer. However her default > printer is not a multifunction device, just a standard HP network printer. > If I set her default printer to "Acrobat PDF" it works, when I set it back > to any of our network printers it does not. If I give her administrative > access to her PC it works with the network printer (Not a good solution). > I've checked all other users and they're either printing to a local printer > or have admin access to their PC. So there seems to be an issue with > network printers and non-admin access.hrmm > > > ---- > > So that's the latest. > > Thanks, > > John > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > paul.hartland at fsmail.net > Sent: Wednesday, May 02, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] No Print dialog box and new Acrobat > Importance: High > > John, > > Have you got the user to log on, on a different PC to see if they can print > then ? > > Paul > > > > > > Message Received: May 02 2007, 03:47 PM > From: "John Skolits" > To: "'Access Developers discussion and problem solving'" > Cc: > Subject: [AccessD] No Print dialog box and new Acrobat > > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > > > > Paul Hartland > paul.hartland at fsmail.net > 07730 523179 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 ebarro at verizon.net Wed May 2 12:42:14 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 10:42:14 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: <0JHF0076ED79UTL0@vms040.mailsrvcs.net> John, I guess you better tell your customer to get rid of this "defiant" printer...can't have any defiant printers on the network now can we? ;) Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From ebarro at verizon.net Wed May 2 12:48:37 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 10:48:37 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From jwcolby at colbyconsulting.com Wed May 2 12:51:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 13:51:25 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0076ED79UTL0@vms040.mailsrvcs.net> References: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> <0JHF0076ED79UTL0@vms040.mailsrvcs.net> Message-ID: <007c01c78ce2$813e26a0$657aa8c0@m6805> Maybe it's just a deviant printer. Deviant is pretty much constitutionally protected so they may not be able to get rid of that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:42 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat John, I guess you better tell your customer to get rid of this "defiant" printer...can't have any defiant printers on the network now can we? ;) Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 12:55:13 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 13:55:13 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> References: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <007d01c78ce3$097ed3c0$657aa8c0@m6805> Now THAT is cool. I had a network printer but it was such a PITA to use I never got it functioning on the network. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:49 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From askolits at ot.com Wed May 2 12:58:03 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 13:58:03 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <014801c78ce3$6e2b3a20$6901a8c0@LaptopXP> That's not a bad idea. I'll pass it along. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:49 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From john at winhaven.net Wed May 2 13:12:53 2007 From: john at winhaven.net (John Bartow) Date: Wed, 2 May 2007 13:12:53 -0500 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon> <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Message-ID: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Have my doubts - HP & Dell have both stating offering the publics preloaded Windows XP on their PCs again (they weren't doing for awhile). And Windows 2000 is still supported. Doesn't make sense in the overall scheme of the way things happen. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 11:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. From jwcolby at colbyconsulting.com Wed May 2 13:34:30 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:34:30 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <0JHF009HW71PEG10@vms048.mailsrvcs.net> References: <006101c78ccd$8bc36050$657aa8c0@m6805> <0JHF009HW71PEG10@vms048.mailsrvcs.net> Message-ID: <008101c78ce8$85f9f240$657aa8c0@m6805> I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Wed May 2 13:43:28 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 11:43:28 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008101c78ce8$85f9f240$657aa8c0@m6805> Message-ID: <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> John, .NET binaries cannot be registered the same way as COM binaries. In your VS.NET project right click on the References tree and then click Add Reference. On the .NET tab click Browse and then locate ICSharpCode.SharpZipLib.DLL. This takes care of "registering" the .NET binary and also copies ICSharpCode.SharpZipLib.DLL to your project's BIN folder. Click on the + sign beside References and you will notice that VS.NET has added a reference to the ICSharpCode.SharpZipLib.DLL. You can then access the objects in that DLL on your projects. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From jwcolby at colbyconsulting.com Wed May 2 13:44:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:44:25 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon><01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Message-ID: <008201c78ce9$e8f0c3f0$657aa8c0@m6805> >Doesn't make sense in the overall scheme of the way things happen. Unfortunately it does. Microsoft had already cut off all XP installs on their OEM clients back around the 1st of January. Apparently DELL leaned on them to allow DELL (specifically) to go back to XP preloaded machines, but you know that MS does not like it and wants to force Vista out there. MS can and will if they so desire force the vendors to stop preloading XP on channel machines. MS holds the cards here and they want XP out of new machines if for no other reason than that they have to support it for that much longer. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 02, 2007 2:13 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Have my doubts - HP & Dell have both stating offering the publics preloaded Windows XP on their PCs again (they weren't doing for awhile). And Windows 2000 is still supported. Doesn't make sense in the overall scheme of the way things happen. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 11:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 13:53:33 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:53:33 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> References: <008101c78ce8$85f9f240$657aa8c0@m6805> <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> Message-ID: <008301c78ceb$2f7b2030$657aa8c0@m6805> Eric, Thanks for that. I was in there before but I failed to poke around long enough. I needed to click the browse tab and go find the thing. Done and thanks for the help. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 2:43 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, .NET binaries cannot be registered the same way as COM binaries. In your VS.NET project right click on the References tree and then click Add Reference. On the .NET tab click Browse and then locate ICSharpCode.SharpZipLib.DLL. This takes care of "registering" the .NET binary and also copies ICSharpCode.SharpZipLib.DLL to your project's BIN folder. Click on the + sign beside References and you will notice that VS.NET has added a reference to the ICSharpCode.SharpZipLib.DLL. You can then access the objects in that DLL on your projects. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From reuben at gfconsultants.com Wed May 2 14:06:57 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Wed, 2 May 2007 15:06:57 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <008201c78ce9$e8f0c3f0$657aa8c0@m6805> Message-ID: I promise you can stll get XP from Compaq/HP as I just recently ordered two computers with XP installed. I guess I should go ahead and replace my laptop now so I can be sure that I can get XP in it as well. Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of JWColby > Sent: Wednesday, May 02, 2007 2:44 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > > >Doesn't make sense in the overall scheme of the way things happen. > > Unfortunately it does. Microsoft had already cut off all XP installs on > their OEM clients back around the 1st of January. Apparently > DELL leaned on > them to allow DELL (specifically) to go back to XP preloaded machines, but > you know that MS does not like it and wants to force Vista out there. MS > can and will if they so desire force the vendors to stop preloading XP on > channel machines. MS holds the cards here and they want XP out of new > machines if for no other reason than that they have to support it for that > much longer. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow > Sent: Wednesday, May 02, 2007 2:13 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > Have my doubts - HP & Dell have both stating offering the publics > preloaded > Windows XP on their PCs again (they weren't doing for awhile). And Windows > 2000 is still supported. Doesn't make sense in the overall scheme > of the way > things happen. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 11:35 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP > OEM by the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior > ThinkPad product > manager for Lenovo. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 2 14:21:18 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 2 May 2007 23:21:18 +0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008101c78ce8$85f9f240$657aa8c0@m6805> Message-ID: <000301c78cef$0f9e6660$6401a8c0@nant> John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 accessd at shaw.ca Wed May 2 14:33:23 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 12:33:23 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Message-ID: <0JHF00KXYI53P7C0@l-daemon> It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 14:47:49 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 15:47:49 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <000301c78cef$0f9e6660$6401a8c0@nant> References: <008101c78ce8$85f9f240$657aa8c0@m6805> <000301c78cef$0f9e6660$6401a8c0@nant> Message-ID: <008701c78cf2$c4ef4d60$657aa8c0@m6805> >- use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... And there is a batch file in the zip of the component that supposedly registers this using a gacutil. Unfortunately I can not get it to to perform as it is apparently supposed to. The batch file immediately does a CD to bin and then tries to execute gacutil but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. There is no readme.txt that tells me that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 3:21 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 cfoust at infostatsystems.com Wed May 2 14:54:53 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 12:54:53 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <0JHF00KXYI53P7C0@l-daemon> References: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> <0JHF00KXYI53P7C0@l-daemon> Message-ID: Yup, same way NT, 2000, and XP forced people into new machines. Definitely a conspiracy! :-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 02, 2007 12:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Wed May 2 15:06:42 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 13:06:42 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> Message-ID: <0JHF00MD0JOONTH0@l-daemon> This is not to say that I am not a devoted MS Windows user as most of my time and applications are developed on the Windows platform but there is an alternative. For those who would consider going the Linux route may I suggest trying Ubuntu 7.04 (with Debean core)... it is still in beta but has reported no errors other than problems with clustering. The package is simpler to install that Windows, automatically does updates, even installs all the sound and video codecs. For those who are basic users the package is easy to use with a full Office, graphic apps etc. The OS automatically connects to all the local Windows servers, stations and printers and even support Active directory. If you do require the use of Windows applications or even the OS; it can all run through an easily downloadable Windows Emulator or Virtual PC. It also has a Remote Desktop package that will allow you to administer a remote Windows desktop or server computer. If this all is not enough, it is fast... a rough estimate puts it's about 20% quicker with desktop apps. This build is not just a simple Desktop as it can run such packages as Oracle 10g Enterprise. One fellow in town has a clustered array of about 50 servers running his business using Ubuntu 6.x. If you wish to investigate the OS, just download it, burn it to DVD and then you can test and run it from you DVD player to see if you like it before installing it. If you do decide to install it on a computer that has Windows already, it discretely installs in an unused area, on the disk, in a new partition and creates a dual boot. (You can set the default boot to either be Ubuntu or Windows.) I do not recommends that everyone run over to this distribution of Linux but if anyone is curious, heard that Linux was only for UNIX gurus will pleasantly surprised. Another 2 cent worth. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 02, 2007 10:04 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT - VISTA only and XP Phase out? One of the several reasons I deem an investment of one day a week in Linux to be a strategically correct play. I haven't got a single customer on that platform, but I do have a couple of boxes running versions (Ubuntu on one and Suse Enterprise 10.1 on another). To date my biggest beef has been the absence of something as easy to use as Access. But Base, in the current rev. of OpenOffice, comes close. On 5/2/07, Heenan, Lambert wrote: > > Don't worry. It's all just part of the M$ plot to monopolize the > multi-media > world in an effort to catch up with Apple (for beating M$ to the gun with > audio sales). > > Now we'll all have to pay more for hardware and software because the > manufacturers are caving in to M$ and it's demands for DRM-everything. > > ;-( > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 12:35 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by > the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad > product > manager for Lenovo. > > Thanks > > > ************************************************** > * Patricia O'Connor > * Associate Computer Programmer Analyst > * OTDA - BDMA > * (W) mailto:Patricia.O'Connor at otda.state.ny.us > * (w) mailto:aa1160 at nysemail.state.ny.us > ************************************************** > -------------------------------------------------------- > This e-mail, including any attachments, may be confidential, privileged or > otherwise legally protected. It is intended only for the addressee. If you > received this e-mail in error or from someone who was not authorized to > send > it to you, do not disseminate, copy or otherwise use this e-mail or its > attachments. Please notify the sender immediately by reply e-mail and > delete the e-mail from your system. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Wed May 2 15:09:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 13:09:51 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <0JHF00MO5JTWNTH0@l-daemon> Hi Eric: Of course that is right. That should work with issues. Very astute. jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 15:08:34 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:08:34 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: References: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet><0JHF00KXYI53P7C0@l-daemon> Message-ID: <008801c78cf5$a9f5c180$657aa8c0@m6805> And from my perspective, IN THE END it is worthwhile. DOS pretty much sucked as a platform for running programs. We are visual animals and screens of text are tough to interpret. Windows changed all that, but placed demands on machines that forced upgrades. Se la vie. Windows 95 pretty much sucked (relative to what came after) but forced upgrades. Etc. etc. XP / 2K is the very first Windows version IMHO that was even close to stable and capable of running well FOR THE MASSES. Yea, yea, yea, we all know someone who used 98 with no problems, not the point. Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 02, 2007 3:55 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Yup, same way NT, 2000, and XP forced people into new machines. Definitely a conspiracy! :-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 02, 2007 12:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 2 15:28:28 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 3 May 2007 00:28:28 +0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008701c78cf2$c4ef4d60$657aa8c0@m6805> Message-ID: <000001c78cf8$7317b4e0$6401a8c0@nant> John, To use gacutil.exe your .NET component classlib assembly has to be signed using strong name generated by sn.exe utility - did you do that? Anyway while you're just starting with VB.NET classlibs using local copy is safe and easy way to proceed now until you get enough experience with sn.exe and gacutil.exe... <<< but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. >>> gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that it registers it in GAC and also physically copies it there. And GAC can keep several versions of your components... When your .NET component is installed in GAC then you can reference it from your projects. You can also reference your .NET components without installing them in GAC. In both cases you can have CopyLocal flag set then you'll get the component copied on compile/build time into your /Bin (or whatever you call it) folder where your client (FE/Utility) executable/component is getting built. Then you can just XCopy this /Bin folder's contents to your customer site. If you do not use CopyLocal flag and if your have your component registered locally in GAC and referenced from your client (FE/Utility) project then you will have to register this referenced component on customer's site using gacutil. Then your client (FE/Utility) executable/library will find registered in GAC component on runtime... Easy... (?!) Well, not that easy when you will find you wanted to have several versions of your .NET component installed in GAC and using different versions of .NET framework etc - all that is possible but should be better avoided as deployment scenarios in the beginning... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:48 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL >- use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... And there is a batch file in the zip of the component that supposedly registers this using a gacutil. Unfortunately I can not get it to to perform as it is apparently supposed to. The batch file immediately does a CD to bin and then tries to execute gacutil but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. There is no readme.txt that tells me that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 3:21 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 lmrazek at lcm-res.com Wed May 2 15:30:15 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 2 May 2007 15:30:15 -0500 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <0JHF00MD0JOONTH0@l-daemon> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> <0JHF00MD0JOONTH0@l-daemon> Message-ID: <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From jwcolby at colbyconsulting.com Wed May 2 15:51:44 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:51:44 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <000001c78cf8$7317b4e0$6401a8c0@nant> References: <008701c78cf2$c4ef4d60$657aa8c0@m6805> <000001c78cf8$7317b4e0$6401a8c0@nant> Message-ID: <008901c78cfb$b1c6bc60$657aa8c0@m6805> Shamil, Thanks for that info. I will make sure that "localcopy" is set and not worry about it for now. I am going to be doing a simple xcopy kind of install for the immediate future. Again, many thanks for the response. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 4:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, To use gacutil.exe your .NET component classlib assembly has to be signed using strong name generated by sn.exe utility - did you do that? Anyway while you're just starting with VB.NET classlibs using local copy is safe and easy way to proceed now until you get enough experience with sn.exe and gacutil.exe... <<< but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. >>> gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that it registers it in GAC and also physically copies it there. And GAC can keep several versions of your components... When your .NET component is installed in GAC then you can reference it from your projects. You can also reference your .NET components without installing them in GAC. In both cases you can have CopyLocal flag set then you'll get the component copied on compile/build time into your /Bin (or whatever you call it) folder where your client (FE/Utility) executable/component is getting built. Then you can just XCopy this /Bin folder's contents to your customer site. If you do not use CopyLocal flag and if your have your component registered locally in GAC and referenced from your client (FE/Utility) project then you will have to register this referenced component on customer's site using gacutil. Then your client (FE/Utility) executable/library will find registered in GAC component on runtime... Easy... (?!) Well, not that easy when you will find you wanted to have several versions of your .NET component installed in GAC and using different versions of .NET framework etc - all that is possible but should be better avoided as deployment scenarios in the beginning... -- Shamil From jwcolby at colbyconsulting.com Wed May 2 15:55:48 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:55:48 -0400 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com><0JHF00MD0JOONTH0@l-daemon> <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> Message-ID: <008a01c78cfc$43552810$657aa8c0@m6805> AFAIK, simply linking to a table will not cause corruptions. May I suggest however that you immediately create a QUERY that pulls the fields needed (or the whole table for that matter) and then set the Recordset Type property of the query to Snapshot. A snapshot is a read-only recordset and going through a query that is set to snapshot will absolutely prevent any write backs to the data table, at least for anything using that query. There are "corruptions" and then there are inadvertent writes which are, of course also "corruptions". A snapshot query will prevent the second type of corruption. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Wednesday, May 02, 2007 4:30 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Linking to a Dbase File Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 2 16:30:38 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 2 May 2007 16:30:38 -0500 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <008a01c78cfc$43552810$657aa8c0@m6805> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com><0JHF00MD0JOONTH0@l-daemon><003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> <008a01c78cfc$43552810$657aa8c0@m6805> Message-ID: <005701c78d01$22836a70$056fa8c0@lcmdv8000> Thanks Jim. Good idea regarding the snapshot query. I haven't had much experience working with dbase, other than straight imports and I'm a bit leary of messing something up! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 3:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Linking to a Dbase File AFAIK, simply linking to a table will not cause corruptions. May I suggest however that you immediately create a QUERY that pulls the fields needed (or the whole table for that matter) and then set the Recordset Type property of the query to Snapshot. A snapshot is a read-only recordset and going through a query that is set to snapshot will absolutely prevent any write backs to the data table, at least for anything using that query. There are "corruptions" and then there are inadvertent writes which are, of course also "corruptions". A snapshot query will prevent the second type of corruption. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Wednesday, May 02, 2007 4:30 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Linking to a Dbase File Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Wed May 2 16:49:49 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 03 May 2007 07:49:49 +1000 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> References: <456266FA.4050804@shaw.ca>, <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet>, <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Message-ID: <4639077D.23088.43149B80@stuart.lexacorp.com.pg> And Dell are offering Ubuntu pre-installed instwead of Windows: http://www.theregister.co.uk/2007/05/01/dell_linux_lives/ On 2 May 2007 at 13:12, John Bartow wrote: > Have my doubts - HP & Dell have both stating offering the publics preloaded > Windows XP on their PCs again (they weren't doing for awhile). And Windows > 2000 is still supported. Doesn't make sense in the overall scheme of the way > things happen. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 11:35 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by the > end of this year, despite consumer resistance to Vista and its compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad product > manager for Lenovo. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From martyconnelly at shaw.ca Wed May 2 18:08:14 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 02 May 2007 16:08:14 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008901c78cfb$b1c6bc60$657aa8c0@m6805> References: <008701c78cf2$c4ef4d60$657aa8c0@m6805> <000001c78cf8$7317b4e0$6401a8c0@nant> <008901c78cfb$b1c6bc60$657aa8c0@m6805> Message-ID: <463919DE.5050001@shaw.ca> I use an install batch file that looks like this for your dll MyProgram.dll The new tlb will be created under MyPath There are probably better ways. gacutil -u MyProgram regasm /u "MyPath\MyProgram.dll" regasm "MyPath\MyProgram.dll" regasm /tlb "MyPath\MyProgram.dll" gacutil -i "MyPath\MyProgram.dll" JWColby wrote: >Shamil, > >Thanks for that info. I will make sure that "localcopy" is set and not worry >about it for now. I am going to be doing a simple xcopy kind of install for >the immediate future. > >Again, many thanks for the response. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil >Salakhetdinov >Sent: Wednesday, May 02, 2007 4:28 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL > >John, > >To use gacutil.exe your .NET component classlib assembly has to be signed >using strong name generated by sn.exe utility - did you do that? > >Anyway while you're just starting with VB.NET classlibs using local copy is >safe and easy way to proceed now until you get enough experience with sn.exe >and gacutil.exe... > ><<< >but that begs the question of >where I am supposed to place this stuff initially in order for that to work >correctly. > > >gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that >it registers it in GAC and also physically copies it there. And GAC can keep >several versions of your components... > >When your .NET component is installed in GAC then you can reference it from >your projects. > >You can also reference your .NET components without installing them in GAC. > >In both cases you can have CopyLocal flag set then you'll get the component >copied on compile/build time into your /Bin (or whatever you call it) folder >where your client (FE/Utility) executable/component is getting built. Then >you can just XCopy this /Bin folder's contents to your customer site. > >If you do not use CopyLocal flag and if your have your component registered >locally in GAC and referenced from your client (FE/Utility) project then you >will have to register this referenced component on customer's site using >gacutil. Then your client (FE/Utility) executable/library will find >registered in GAC component on runtime... > >Easy... (?!) > >Well, not that easy when you will find you wanted to have several versions >of your .NET component installed in GAC and using different versions of .NET >framework etc - all that is possible but should be better avoided as >deployment scenarios in the beginning... > >-- >Shamil > > > -- Marty Connelly Victoria, B.C. Canada From Gustav at cactus.dk Thu May 3 03:11:02 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 03 May 2007 10:11:02 +0200 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. From accessd666 at yahoo.com Thu May 3 03:27:02 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 01:27:02 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: <341911.81757.qm@web31607.mail.mud.yahoo.com> Hi Charlotte, what's the MS CodeLibrarian. Found some articles on the internet about it but not much. What is this thing? Thanks In Advance! Sander --- Charlotte Foust wrote: > I had the 97 and 2000 versions of their sourcebook > and never thought it > was worth the price. The .Net product may be > better, but I wouldn't > count on that. I generally copy and paste my own > code from the MS > CodeLibrarian or something similar, when I'm not > scavenging for ways to > do something totally unfamiliar. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of William > Hindman > Sent: Wednesday, May 02, 2007 6:39 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Sad > > ...I have a great deal of respect for FMS and most > of their tools ...but > their source book is just a compendium of code > solutions in a nice > little code library ...all of which are readily > available to you right > here or in our archives ...often with better > explanations and > alternative solutions ...I have their source book > for '97 and just never > really used it that often because AccessD was always > quicker and better > imnsho ...and thus when I upgraded some of their > other tools I didn't > feel source book was worth the extra cost ...others > here may differ > ...and my opinion is worth exactly what it cost you > ...hth. > > ...btw, they have a small collection of free tools > for A97 on their site > that they've never upgraded ...but if you dl them > and look at the > source, they are easily fixed to work with A2003. > > William Hindman > > ----- Original Message ----- > From: "Sad Der" > To: "Acces User Group" > > Sent: Wednesday, May 02, 2007 7:46 AM > Subject: [AccessD] FMS Inc. Sourcebook > > > > Hi, > > > > Does anybody have experience with FMS Inc. (.Net) > > Sourcebook? > > > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > > > E.g.: > > - is it workable when working on a project? > > - what problems did you face with implementation? > > - is it being used by multiple developers? > > - etc. > > > > Are there good alternatives? > > > > TIA > > > > Sander > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From fuller.artful at gmail.com Thu May 3 06:53:01 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 07:53:01 -0400 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur From fuller.artful at gmail.com Thu May 3 07:04:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 08:04:47 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <341911.81757.qm@web31607.mail.mud.yahoo.com> References: <341911.81757.qm@web31607.mail.mud.yahoo.com> Message-ID: <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on > the internet about it but not much. What is this > thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook > > and never thought it > > was worth the price. The .Net product may be > > better, but I wouldn't > > count on that. I generally copy and paste my own > > code from the MS > > CodeLibrarian or something similar, when I'm not > > scavenging for ways to > > do something totally unfamiliar. > > > > Charlotte Foust > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of William > > Hindman > > Sent: Wednesday, May 02, 2007 6:39 AM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] FMS Inc. Sourcebook > > > > Sad > > > > ...I have a great deal of respect for FMS and most > > of their tools ...but > > their source book is just a compendium of code > > solutions in a nice > > little code library ...all of which are readily > > available to you right > > here or in our archives ...often with better > > explanations and > > alternative solutions ...I have their source book > > for '97 and just never > > really used it that often because AccessD was always > > quicker and better > > imnsho ...and thus when I upgraded some of their > > other tools I didn't > > feel source book was worth the extra cost ...others > > here may differ > > ...and my opinion is worth exactly what it cost you > > ...hth. > > > > ...btw, they have a small collection of free tools > > for A97 on their site > > that they've never upgraded ...but if you dl them > > and look at the > > source, they are easily fixed to work with A2003. > > > > William Hindman > > > > ----- Original Message ----- > > From: "Sad Der" > > To: "Acces User Group" > > > > Sent: Wednesday, May 02, 2007 7:46 AM > > Subject: [AccessD] FMS Inc. Sourcebook > > > > > > > Hi, > > > > > > Does anybody have experience with FMS Inc. (.Net) > > > Sourcebook? > > > > > > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > > > > > E.g.: > > > - is it workable when working on a project? > > > - what problems did you face with implementation? > > > - is it being used by multiple developers? > > > - etc. > > > > > > Are there good alternatives? > > > > > > TIA > > > > > > Sander > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Tired of spam? Yahoo! Mail has the best spam > > protection around > > > http://mail.yahoo.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 > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Thu May 3 07:07:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:07:11 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> Message-ID: <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> The issue here is "minutes of inactivity". In order to measure time in Access a form somewhere has to be running a timer. There is absolutely nothing AFAIK built in to Access that "measures activity". In order to measure activity... You have to define activity. Mouse movements? Keystrokes? These are the two most common. Keystrokes are fairly easy, you intercept the key down and set a "last activity time" global date variable. Mouse movement however is much harder. For that you will need a framework which uses class wrappers around forms and controls (or at least the form). Having that you can sink the mouse move event for the form and controls and set the same global "last activity time" global date variable. Having a "last activity time" variable you can now use that timer tick I mentioned in the second sentence to see how long since the last activity. All in all not a 10 minute project, but it is doable. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 07:32:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:32:54 -0400 Subject: [AccessD] Calling a stored procedure from Access Message-ID: <00c101c78d7f$30fd5420$657aa8c0@m6805> I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From fuller.artful at gmail.com Thu May 3 07:33:56 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 08:33:56 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> Message-ID: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Thanks, JC. My friend is an occasional visitor to this group, and has been here enough to know some of the more frequent names. I told him when he asked that you and/or Shamil would know how to do this. I'm forwarding your message to my friend now. I'm not sure how, in the absence of an entire framework, he should create the wrappers for mouse-move and click, but maybe the keydown will be enough for his requirements. So it would work something like this? Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the form visible in dialog mode. Counts password attempts to three. If still no valid password, then Application.Shutdown; else hide the form and let the user proceed. I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? On the other hand, I can't think how else it might work, since the user could conceivably walk away leaving the cursor in the middle of some field while he was adding a new customer or something. Arthur On 5/3/07, JWColby wrote: > > The issue here is "minutes of inactivity". In order to measure time in > Access a form somewhere has to be running a timer. > > There is absolutely nothing AFAIK built in to Access that "measures > activity". In order to measure activity... You have to define activity. > Mouse movements? Keystrokes? These are the two most common. Keystrokes > are fairly easy, you intercept the key down and set a "last activity time" > global date variable. Mouse movement however is much harder. > > For that you will need a framework which uses class wrappers around forms > and controls (or at least the form). Having that you can sink the mouse > move event for the form and controls and set the same global "last > activity > time" global date variable. > > Having a "last activity time" variable you can now use that timer tick I > mentioned in the second sentence to see how long since the last activity. > > All in all not a 10 minute project, but it is doable. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Thursday, May 03, 2007 7:53 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Lock-screen inside an Access app > > A friend asked me how he could put a Windows-like screen lock (that asks > for > a password) inside an Access app. He's thinking that it's a hidden form > that > then appears after x minutes of inactivity and wants a password before > letting the user back into the app. Presumably it would shut the app down > with no valid password. > > Does anyone have an idea how to do this? > > TIA, > 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 jwcolby at colbyconsulting.com Thu May 3 07:57:49 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:57:49 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> References: <341911.81757.qm@web31607.mail.mud.yahoo.com> <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> Message-ID: <00c601c78d82$ac0397d0$657aa8c0@m6805> >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on the internet about > it but not much. What is this thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook and never thought > > it was worth the price. The .Net product may be better, but I > > wouldn't count on that. I generally copy and paste my own code from > > the MS CodeLibrarian or something similar, when I'm not scavenging > > for ways to do something totally unfamiliar. > > > > Charlotte Foust From krosenstiel at comcast.net Thu May 3 08:15:41 2007 From: krosenstiel at comcast.net (Karen Rosenstiel) Date: Thu, 3 May 2007 06:15:41 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: Message-ID: <200705031315.l43DFBep006759@databaseadvisors.com> Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 08:16:32 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 06:16:32 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <00c101c78d7f$30fd5420$657aa8c0@m6805> Message-ID: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From Lambert.Heenan at AIG.com Thu May 3 08:26:27 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:26:27 -0400 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Lambert.Heenan at AIG.com Thu May 3 08:31:03 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:31:03 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> Reformat the drive and install XP or Linux? :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 9:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA From jwcolby at colbyconsulting.com Thu May 3 08:37:52 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:37:52 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com><00bd01c78d7b$9ac7aee0$657aa8c0@m6805> <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Message-ID: <00cf01c78d88$420f34f0$657aa8c0@m6805> >I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? YES, and that is one of the major design flaws in Access. Timers ticking cause issues with forms flickering, code compile errors for the developer in design view etc. Unfortunately that is what we are given to work with. About the only thing that can be done is to try and set the tick to as long an interval as possible. For example, if the developer wanted to know that a person hasn't done anything in 10 minutes then set the timer to every 10 minutes. This is certainly preferable to setting it to every 10 seconds of course. Fire the timer at the slowest possible rate to perform the task. As for seeing the mouse move, you are correct. Probably a very simple form wrapper would be "good enough". If the mouse is waved around, it is almost certainly going to fire form mouse moves. These kinds of wrappers are easy to set up if they are simple. In the form header dimension the class: Dim fclsFrm as clsFrm In the OnOpen of the form: Private Sub Form_Open(Cancel As Integer) 'SET the class instance Set fclsFrm = new clsFrm 'Pass in a reference to the form using an Init method of the class: fclsFrm.Init Me 'Turn on the event sink for the mouse move Me.OnMouseMove = "[Event Procedure]" 'Turn on the event sink for the Close Event me.OnClose = "[Event Procedure]" End Sub In the code editor, do an Insert / class module. In the class header, dimension a form variable withevents: Option Compare Database Option Explicit Dim withevents mFrm as form 'Now create an Init method with a form parameter Function Init(frm as Form) set mFrm = frm End function 'You have just captured a pointer to the form. Now the class has to sink the mouse move: Private Sub mfrm_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) gdteLastActivity = now() End Sub 'You also need to clean up the pointer to the form in the class as the form closes so create a sink for the OnClose as well: Private Sub mfrm_Close() set mfrm = nothing End Sub Save the class as clsFrm. Create a global variable gDteLastActivity in a module somewhere. Voila, you now have a class sinking the form's mouse move event and setting a global variable with the time of the mouse move. The timer form should be simple enough that I do not need to go into that. OTOH, IF there are no forms using the form timer already, then you could have the form wrapper class itself do the monitoring. In the Init() method add: Function Init(frm as form) 'other stuff already here 'Set the timer interval to 10 minutes (10 * 60,000 milliseconds) me.TimerInterval = 10 * 60 * 1000 'Turn on the timer event sinking me.OnTimer = "[Event Procedure]" End function 'In clsFrm add a timer sink Private Sub Form_Timer() 'THIS IS PSEUDOCODE!!! if now() - gdteLastActivity > 10 minutes then docmd.openform "frmAskAboutActivity" endif End Sub Using something like this, timers would only run if a form is actually open of course. That may be an advantage in some cases (you don't want to shut down if they don't actually have a form open) because there would be no timer ticks unless a form was open. Classes and withevents! Ya gotta love 'em. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:34 AM To: Access Developers discussion and problem solving Cc: asanga at xplornet.com Subject: Re: [AccessD] Lock-screen inside an Access app Thanks, JC. My friend is an occasional visitor to this group, and has been here enough to know some of the more frequent names. I told him when he asked that you and/or Shamil would know how to do this. I'm forwarding your message to my friend now. I'm not sure how, in the absence of an entire framework, he should create the wrappers for mouse-move and click, but maybe the keydown will be enough for his requirements. So it would work something like this? Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the form visible in dialog mode. Counts password attempts to three. If still no valid password, then Application.Shutdown; else hide the form and let the user proceed. I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? On the other hand, I can't think how else it might work, since the user could conceivably walk away leaving the cursor in the middle of some field while he was adding a new customer or something. Arthur On 5/3/07, JWColby wrote: > > The issue here is "minutes of inactivity". In order to measure time > in Access a form somewhere has to be running a timer. > > There is absolutely nothing AFAIK built in to Access that "measures > activity". In order to measure activity... You have to define activity. > Mouse movements? Keystrokes? These are the two most common. > Keystrokes are fairly easy, you intercept the key down and set a "last activity time" > global date variable. Mouse movement however is much harder. > > For that you will need a framework which uses class wrappers around > forms and controls (or at least the form). Having that you can sink > the mouse move event for the form and controls and set the same global > "last activity time" global date variable. > > Having a "last activity time" variable you can now use that timer tick > I mentioned in the second sentence to see how long since the last activity. > > All in all not a 10 minute project, but it is doable. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur > Fuller > Sent: Thursday, May 03, 2007 7:53 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Lock-screen inside an Access app > > A friend asked me how he could put a Windows-like screen lock (that > asks for a password) inside an Access app. He's thinking that it's a > hidden form that then appears after x minutes of inactivity and wants > a password before letting the user back into the app. Presumably it > would shut the app down with no valid password. > > Does anyone have an idea how to do this? > > TIA, > 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 jwcolby at colbyconsulting.com Thu May 3 08:39:56 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:39:56 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> Message-ID: <00d001c78d88$8c552f10$657aa8c0@m6805> ROTFL!!! I like a pragmatic solution. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Reformat the drive and install XP or Linux? :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 9:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 3 08:40:53 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 03 May 2007 09:40:53 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> Message-ID: <00d201c78d88$ac2eded0$8abea8c0@XPS> Lambert, Here's the one your thinking about: HOW TO: Detect User Idle Time or Inactivity in Access 2000 http://support.microsoft.com/kb/210297 Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Cc: 'fuller.artful at gmail.com' Subject: Re: [AccessD] Lock-screen inside an Access app This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, 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 jwcolby at colbyconsulting.com Thu May 3 08:51:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:51:25 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <00d201c78d88$ac2eded0$8abea8c0@XPS> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> <00d201c78d88$ac2eded0$8abea8c0@XPS> Message-ID: <00d601c78d8a$27796960$657aa8c0@m6805> Well, don't I feel silly. Just goes to show how important it is to get a variety of answers so you don't over engineer a solution. 8~0 And of course, this one will go in my library. Thanks! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Thursday, May 03, 2007 9:41 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lock-screen inside an Access app Lambert, Here's the one your thinking about: HOW TO: Detect User Idle Time or Inactivity in Access 2000 http://support.microsoft.com/kb/210297 Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Cc: 'fuller.artful at gmail.com' Subject: Re: [AccessD] Lock-screen inside an Access app This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, 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 Lambert.Heenan at AIG.com Thu May 3 09:00:17 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:00:17 -0500 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069400AF@xlivmbx35.aig.com> Granted I may be an exception, but I don't find I have any problems running a timer event all the time. The code I posted earlier is on a form with a 30 second timer interval and I don't have any flickering screens or other weird things going on. I long ago learned not to try writing code while a timer is running, and if I ever forget then a quick visit to the immediate window to issue a TimersOff command does the trick for me. Its compliment "TimersOn" reverses the action. Sub TimersOff() Dim f As Form For Each f In Forms With f If .TimerInterval > 0 Then .Tag = str(.TimerInterval) .TimerInterval = 0 End If End With Next f End Sub Sub TimersOn() Dim f As Form For Each f In Forms With f If Not IsBlank(.Tag) Then If Eval(.Tag) > 0 Then .TimerInterval = Eval(.Tag) End If End If End With Next f End Sub Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lock-screen inside an Access app >I'm a tad concerned about the timer continuing to operate while the >user is using the app. Won't it interfere with things? YES, and that is one of the major design flaws in Access. Timers ticking cause issues with forms flickering, code compile errors for the developer in design view etc. Unfortunately that is what we are given to work with. About the only thing that can be done is to try and set the tick to as long an interval as possible. For example, if the developer wanted to know that a person hasn't done anything in 10 minutes then set the timer to every 10 minutes. This is certainly preferable to setting it to every 10 seconds of course. Fire the timer at the slowest possible rate to perform the task. From accessd666 at yahoo.com Thu May 3 09:01:23 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 07:01:23 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <672988.8255.qm@web31608.mail.mud.yahoo.com> John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I > usually load CodeLib and then > copy in several standard modules. > > I hate to hammer on this over and over, but that is > what a library is for. > > Did you know that when Windows XP shipped it had > SIXTY THOUSAND known bugs > and (more importantly) an unknown number of unknown > bugs. In order to fix > these bugs what does MS do? Updates. What do > updates do? Install a new > "library" with bug fixes. Can you imagine Microsoft > having to rifle through > your installation of windows looking for the lines > of code that have a bug > that they just fixed and fixing it everywhere on 200 > million computers? It > is a silly concept and we all know that. > > I am sure that you are convinced that you have no > bugs in your code, but > statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find > immediately and fix) to > something subtle like loss of data from a type > conversion or something. By > cutting and pasting your code, you cut and paste > your bugs. NOW you have to > remember what apps you cut and pasted bugs into! A > referenced library > allows you to fix a bug and simply insert that fixed > library into the > project. Since all your projects use your lib, all > your projects get your > bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my > library. All project > specific code goes in the project. If it is not > used anywhere else then it > obviously does not belong in my library, however if > it is going to be used > in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see > LOTS of people talking > about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Arthur Fuller > Sent: Thursday, May 03, 2007 8:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > It's something that came with the Office Developer's > Toolkit and also with > Visual Studio 6. It has a library of routines > grouped around topics like DAO > and ADO and so on. It can contain code snippets or > procs/funcs and entire > modules, too. I like it and still use it. Over the > years my own CodeLib > library has swelled to contain a few hundred > functions etc. I like it > because then I can stop trying to remember what app > I wrote a given function > in. When starting a new app, I usually load CodeLib > and then copy in several > standard modules. > > hth, > Arthur > > > On 5/3/07, Sad Der wrote: > > > > Hi Charlotte, > > > > what's the MS CodeLibrarian. Found some articles > on the internet about > > it but not much. What is this thing? > > > > Thanks In Advance! > > > > Sander > > > > --- Charlotte Foust > > wrote: > > > > > I had the 97 and 2000 versions of their > sourcebook and never thought > > > it was worth the price. The .Net product may be > better, but I > > > wouldn't count on that. I generally copy and > paste my own code from > > > the MS CodeLibrarian or something similar, when > I'm not scavenging > > > for ways to do something totally unfamiliar. > > > > > > Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Gustav at cactus.dk Thu May 3 09:07:22 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 03 May 2007 16:07:22 +0200 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: Hi Karen That's the point; you don't. DRM is defined by the really big boys to keep a hand on your pockets. Now, I've never copied an audio cd so I don't care, but do you have the need, keep a box with WinXP and/or Ubuntu for the purpose. As for the popups, you can define secure zones or folders (I don't recall the exact name). By default, any (mapped) folder on a network drive is considered "unsafe". Yes, the price for added security is high. /gustav >>> krosenstiel at comcast.net 03-05-2007 15:15 >>> Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. From jwcolby at colbyconsulting.com Thu May 3 09:08:14 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 10:08:14 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <672988.8255.qm@web31608.mail.mud.yahoo.com> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <672988.8255.qm@web31608.mail.mud.yahoo.com> Message-ID: <00da01c78d8c$84441260$657aa8c0@m6805> LOL. Ahh were it only true. Unfortunately then you would simply have an error in every other DLL. If you could predict which ones had no errors you could leave off half of the error handlers. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 10:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I usually load CodeLib and > then copy in several standard modules. > > I hate to hammer on this over and over, but that is what a library is > for. > > Did you know that when Windows XP shipped it had SIXTY THOUSAND known > bugs and (more importantly) an unknown number of unknown bugs. In > order to fix these bugs what does MS do? Updates. What do updates > do? Install a new "library" with bug fixes. Can you imagine > Microsoft having to rifle through your installation of windows looking > for the lines of code that have a bug that they just fixed and fixing > it everywhere on 200 million computers? It is a silly concept and we > all know that. > > I am sure that you are convinced that you have no bugs in your code, > but statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find immediately and fix) > to something subtle like loss of data from a type conversion or > something. By cutting and pasting your code, you cut and paste your > bugs. NOW you have to remember what apps you cut and pasted bugs > into! A referenced library allows you to fix a bug and simply insert > that fixed library into the project. Since all your projects use your > lib, all your projects get your bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my library. All > project specific code goes in the project. If it is not used anywhere > else then it obviously does not belong in my library, however if it is > going to be used in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see LOTS of people > talking about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From ebarro at verizon.net Thu May 3 09:14:20 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 07:14:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <672988.8255.qm@web31608.mail.mud.yahoo.com> Message-ID: <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> Sander, With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. :) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 7:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I usually load CodeLib and > then copy in several standard modules. > > I hate to hammer on this over and over, but that is what a library is > for. > > Did you know that when Windows XP shipped it had SIXTY THOUSAND known > bugs and (more importantly) an unknown number of unknown bugs. In > order to fix these bugs what does MS do? Updates. What do updates > do? Install a new "library" with bug fixes. Can you imagine > Microsoft having to rifle through your installation of windows looking > for the lines of code that have a bug that they just fixed and fixing > it everywhere on 200 million computers? It is a silly concept and we > all know that. > > I am sure that you are convinced that you have no bugs in your code, > but statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find immediately and fix) > to something subtle like loss of data from a type conversion or > something. By cutting and pasting your code, you cut and paste your > bugs. NOW you have to remember what apps you cut and pasted bugs > into! A referenced library allows you to fix a bug and simply insert > that fixed library into the project. Since all your projects use your > lib, all your projects get your bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my library. All > project specific code goes in the project. If it is not used anywhere > else then it obviously does not belong in my library, however if it is > going to be used in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see LOTS of people > talking about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur > Fuller > Sent: Thursday, May 03, 2007 8:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > It's something that came with the Office Developer's Toolkit and also > with Visual Studio 6. It has a library of routines grouped around > topics like DAO and ADO and so on. It can contain code snippets or > procs/funcs and entire modules, too. I like it and still use it. Over > the years my own CodeLib library has swelled to contain a few hundred > functions etc. I like it because then I can stop trying to remember > what app I wrote a given function in. When starting a new app, I > usually load CodeLib and then copy in several standard modules. > > hth, > Arthur > > > On 5/3/07, Sad Der wrote: > > > > Hi Charlotte, > > > > what's the MS CodeLibrarian. Found some articles > on the internet about > > it but not much. What is this thing? > > > > Thanks In Advance! > > > > Sander > > > > --- Charlotte Foust > > wrote: > > > > > I had the 97 and 2000 versions of their > sourcebook and never thought > > > it was worth the price. The .Net product may be > better, but I > > > wouldn't count on that. I generally copy and > paste my own code from > > > the MS CodeLibrarian or something similar, when > I'm not scavenging > > > for ways to do something totally unfamiliar. > > > > > > Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Thu May 3 09:22:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 10:22:53 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> References: <672988.8255.qm@web31608.mail.mud.yahoo.com> <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> Message-ID: <00e801c78d8e$8bc90cf0$657aa8c0@m6805> >With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. ROTFLMAOBTC. Exactly how many bugs are in the BEGIN and END statements? About as many as are in the { and } statements. According to the statistics I have read there is not a lot of variance in the bugs / lines of code across languages. And simply appending 47 lines of code in one line does NOT lower the count. It simply causes that one line to have 2.3 bugs in it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 10:14 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Sander, With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. :) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 7:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander From krosenstiel at comcast.net Thu May 3 10:08:21 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Thu, 03 May 2007 15:08:21 +0000 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <050320071508.27876.4639FAE50003E4AF00006CE42215567074040A079B9C020A9C019D05@comcast.net> Yeah, already thought of that ;-> Maybe a dual boot with Kubuntu.... -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Heenan, Lambert" > Reformat the drive and install XP or Linux? :-) > > Lambert > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel > Sent: Thursday, May 03, 2007 9:16 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > > Hi Gustav, > How do I remove the DRM stuff? I just got a hot damn laptop with Vista > Ultimate. Also, how can I make the thing stop asking me for security > confirmation for just about any activity? > > Thanks. > > > Regards, > > Karen Rosenstiel > Seattle WA USA > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 10:12:58 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 15:12:58 +0000 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Message-ID: Arthur, There is a sample db floating around somewhere that does the inactivity...the password part can be easily added. I'll see if I can find it. Thanks, Mark A. Matte >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >CC: "asanga at xplornet.com" >Subject: Re: [AccessD] Lock-screen inside an Access app >Date: Thu, 3 May 2007 08:33:56 -0400 > >Thanks, JC. My friend is an occasional visitor to this group, and has been >here enough to know some of the more frequent names. I told him when he >asked that you and/or Shamil would know how to do this. I'm forwarding your >message to my friend now. > >I'm not sure how, in the absence of an entire framework, he should create >the wrappers for mouse-move and click, but maybe the keydown will be enough >for his requirements. > >So it would work something like this? > >Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the >form visible in dialog mode. Counts password attempts to three. If still no >valid password, then Application.Shutdown; else hide the form and let the >user proceed. > >I'm a tad concerned about the timer continuing to operate while the user is >using the app. Won't it interfere with things? On the other hand, I can't >think how else it might work, since the user could conceivably walk away >leaving the cursor in the middle of some field while he was adding a new >customer or something. > >Arthur > > >On 5/3/07, JWColby wrote: > > > > The issue here is "minutes of inactivity". In order to measure time in > > Access a form somewhere has to be running a timer. > > > > There is absolutely nothing AFAIK built in to Access that "measures > > activity". In order to measure activity... You have to define activity. > > Mouse movements? Keystrokes? These are the two most common. >Keystrokes > > are fairly easy, you intercept the key down and set a "last activity >time" > > global date variable. Mouse movement however is much harder. > > > > For that you will need a framework which uses class wrappers around >forms > > and controls (or at least the form). Having that you can sink the mouse > > move event for the form and controls and set the same global "last > > activity > > time" global date variable. > > > > Having a "last activity time" variable you can now use that timer tick I > > mentioned in the second sentence to see how long since the last >activity. > > > > All in all not a 10 minute project, but it is doable. > > > > John W. Colby > > Colby Consulting > > www.ColbyConsulting.com > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > > Sent: Thursday, May 03, 2007 7:53 AM > > To: Access Developers discussion and problem solving > > Subject: [AccessD] Lock-screen inside an Access app > > > > A friend asked me how he could put a Windows-like screen lock (that asks > > for > > a password) inside an Access app. He's thinking that it's a hidden form > > that > > then appears after x minutes of inactivity and wants a password before > > letting the user back into the app. Presumably it would shut the app >down > > with no valid password. > > > > Does anyone have an idea how to do this? > > > > TIA, > > 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 _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From ebarro at verizon.net Thu May 3 10:14:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 08:14:05 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <200705031315.l43DFBep006759@databaseadvisors.com> Message-ID: <0JHH0020P10GQUO2@vms048.mailsrvcs.net> Switch to a mac? :) As Borat would say...NOT!!! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 6:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From krosenstiel at comcast.net Thu May 3 10:16:38 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Thu, 03 May 2007 15:16:38 +0000 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <050320071516.26790.4639FCD600051E21000068A62215567074040A079B9C020A9C019D05@comcast.net> Grrrrr...! -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Gustav Brock" > Hi Karen > > That's the point; you don't. DRM is defined by the really big boys to keep a > hand on your pockets. > Now, I've never copied an audio cd so I don't care, but do you have the need, > keep a box with WinXP and/or Ubuntu for the purpose. > > As for the popups, you can define secure zones or folders (I don't recall the > exact name). By default, any (mapped) folder on a network drive is considered > "unsafe". Yes, the price for added security is high. > > /gustav > > >>> krosenstiel at comcast.net 03-05-2007 15:15 >>> > Hi Gustav, > How do I remove the DRM stuff? I just got a hot damn laptop with Vista > Ultimate. Also, how can I make the thing stop asking me for security > confirmation for just about any activity? > > Thanks. > > > Regards, > > Karen Rosenstiel > Seattle WA USA > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Thursday, May 03, 2007 1:11 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > Hi John et al > > Also, I must admit that the graphic design of the Vista GUI is so much > better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has > looked like a student's work in comparison. Now that has changed with > Avalon, Windows Presentation Foundation, which is truly innovative, and the > default layout meets the highest graphic standards; at last a pro machine > will look pro too in use. > > This is not to defend all the compatibility issues and the nasty DRM stuff > (which should be removed right away). > > /gustav > > >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> > > Vista is a definite step forward. I too abhor the DRM crap they are forcing > on us, but other than that I think it is a significant step forward in most > other respects. And yep, it will force us onto more powerful platforms. > > That is just the price we pay to play the game. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From john at winhaven.net Thu May 3 10:18:44 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 10:18:44 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <009301c78d96$58703d30$6402a8c0@ScuzzPaq> :o) I use a library for all code that I have used or have thoroughly tested. In fact this week I used a nice little ADH snippet that I had never used before. I've had it in my Library for years now. I know of another app out there that could use this tweak so I can change the app, recompile and send it off to the end users - no sweat. Good advice JC ;o) BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... I should have just finished up my own app to do this for me but Sourcebook was just sitting there waiting to be used... someday. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Thu May 3 10:37:44 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 03 May 2007 08:37:44 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <0JHH0007R1WA83Y0@l-daemon> John: A developer has two distinct jobs. One is programming and the other is debugging. One creates errors and the other task is supposed to remove them. Jim PS Have always used libraries... from the first days with Fortran, -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on the internet about > it but not much. What is this thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook and never thought > > it was worth the price. The .Net product may be better, but I > > wouldn't count on that. I generally copy and paste my own code from > > the MS CodeLibrarian or something similar, when I'm not scavenging > > for ways to do something totally unfamiliar. > > > > Charlotte Foust -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 10:37:25 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 08:37:25 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Thu May 3 10:45:03 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 15:45:03 +0000 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: Message-ID: I can't find the 1 I had...but here is a similar 1. Thanks, mark http://www.access-programmers.co.uk/forums/showthread.php?t=103278 >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Lock-screen inside an Access app >Date: Thu, 03 May 2007 15:12:58 +0000 > >Arthur, > >There is a sample db floating around somewhere that does the >inactivity...the password part can be easily added. I'll see if I can find >it. > >Thanks, > >Mark A. Matte > > > >From: "Arthur Fuller" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >CC: "asanga at xplornet.com" > >Subject: Re: [AccessD] Lock-screen inside an Access app > >Date: Thu, 3 May 2007 08:33:56 -0400 > > > >Thanks, JC. My friend is an occasional visitor to this group, and has >been > >here enough to know some of the more frequent names. I told him when he > >asked that you and/or Shamil would know how to do this. I'm forwarding >your > >message to my friend now. > > > >I'm not sure how, in the absence of an entire framework, he should create > >the wrappers for mouse-move and click, but maybe the keydown will be >enough > >for his requirements. > > > >So it would work something like this? > > > >Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes >the > >form visible in dialog mode. Counts password attempts to three. If still >no > >valid password, then Application.Shutdown; else hide the form and let the > >user proceed. > > > >I'm a tad concerned about the timer continuing to operate while the user >is > >using the app. Won't it interfere with things? On the other hand, I can't > >think how else it might work, since the user could conceivably walk away > >leaving the cursor in the middle of some field while he was adding a new > >customer or something. > > > >Arthur > > > > > >On 5/3/07, JWColby wrote: > > > > > > The issue here is "minutes of inactivity". In order to measure time >in > > > Access a form somewhere has to be running a timer. > > > > > > There is absolutely nothing AFAIK built in to Access that "measures > > > activity". In order to measure activity... You have to define >activity. > > > Mouse movements? Keystrokes? These are the two most common. > >Keystrokes > > > are fairly easy, you intercept the key down and set a "last activity > >time" > > > global date variable. Mouse movement however is much harder. > > > > > > For that you will need a framework which uses class wrappers around > >forms > > > and controls (or at least the form). Having that you can sink the >mouse > > > move event for the form and controls and set the same global "last > > > activity > > > time" global date variable. > > > > > > Having a "last activity time" variable you can now use that timer tick >I > > > mentioned in the second sentence to see how long since the last > >activity. > > > > > > All in all not a 10 minute project, but it is doable. > > > > > > John W. Colby > > > Colby Consulting > > > www.ColbyConsulting.com > > > > > > -----Original Message----- > > > From: accessd-bounces at databaseadvisors.com > > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur >Fuller > > > Sent: Thursday, May 03, 2007 7:53 AM > > > To: Access Developers discussion and problem solving > > > Subject: [AccessD] Lock-screen inside an Access app > > > > > > A friend asked me how he could put a Windows-like screen lock (that >asks > > > for > > > a password) inside an Access app. He's thinking that it's a hidden >form > > > that > > > then appears after x minutes of inactivity and wants a password before > > > letting the user back into the app. Presumably it would shut the app > >down > > > with no valid password. > > > > > > Does anyone have an idea how to do this? > > > > > > TIA, > > > 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 > >_________________________________________________________________ >Need a break? Find your escape route with Live Search Maps. >http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From jwcolby at colbyconsulting.com Thu May 3 10:51:51 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 11:51:51 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <009301c78d96$58703d30$6402a8c0@ScuzzPaq> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> <009301c78d96$58703d30$6402a8c0@ScuzzPaq> Message-ID: <00f501c78d9a$f7cbb130$657aa8c0@m6805> >BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... No that makes perfect sense. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Thursday, May 03, 2007 11:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook :o) I use a library for all code that I have used or have thoroughly tested. In fact this week I used a nice little ADH snippet that I had never used before. I've had it in my Library for years now. I know of another app out there that could use this tweak so I can change the app, recompile and send it off to the end users - no sweat. Good advice JC ;o) BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... I should have just finished up my own app to do this for me but Sourcebook was just sitting there waiting to be used... someday. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 10:52:37 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 08:52:37 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From cfoust at infostatsystems.com Thu May 3 11:04:20 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:04:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> Message-ID: Amen! Managed code libraries are lifesavers. We actually have whole projects shared between solutions. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 8:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 11:23:40 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:23:40 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <00fc01c78d9f$6941e0b0$657aa8c0@m6805> Charlotte, >I think you misunderstand the purpose and use of something like code librarian. And Arthur specifically mentioned "cutting and pasting modules into applications" which was what I was commenting about. Cutting and pasting anything into applications indicates that a) you have (probably) used it before, and b) you are using it again. Now a) is iffy, but if it is true then you have reached the point where it should probably be in the library. >I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. Which is of course something completely different and a very good use for code librarian. >I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Works for me. If a function is specific to the application, it belongs in the application. In general I don't have "versions of functions". >Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. Sounds like an excuse to cut and paste. Is it not a PITA to go find and fix an error inside of 47 different applications? Is that easier than copying a library where it needs to go? Now what happens when you have 10 bug fixes or 30? A library ALWAYS wins!!! >If your library gets deleted, you are SOL. True. And if your application gets deleted you are SOL. Sounds like an excuse to cut and paste. >And since libraries should be mdes, every time you "update" one, you have to rebuild it. I don't have any such belief. My library is an MDA, as is the application. If you want to use MDEs then you have to deal with the issues thereof. The point of a library is "write once, use forever", and "fix once, fix everywhere". Cut and paste does NOT meet the second criteria. Sorry, it just doesn't. You can make up excuses to cut and paste till the cows come home. It is not my job to follow you around making sure you don't do that, but it is my job to point out the flaws in the process so that other developers won't go getting the idea that it is a good practice. In general it just isn't good practice. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 11:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 11:24:58 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:24:58 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH0007R1WA83Y0@l-daemon> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <0JHH0007R1WA83Y0@l-daemon> Message-ID: <00fd01c78d9f$97d9fa70$657aa8c0@m6805> Jim, >PS Have always used libraries... from the first days with Fortran, And thanks for popping up and saying so. Sometimes it feels lonely out here. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, May 03, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook John: A developer has two distinct jobs. One is programming and the other is debugging. One creates errors and the other task is supposed to remove them. Jim PS Have always used libraries... from the first days with Fortran, -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 3 11:26:06 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:26:06 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> Message-ID: <00fe01c78d9f$c05ac880$657aa8c0@m6805> >And that my friends is why the .NET managed code libraries make a lot of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 11:37:13 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:37:13 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fc01c78d9f$6941e0b0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> <00fc01c78d9f$6941e0b0$657aa8c0@m6805> Message-ID: I wasn't making excuses for anything, John. That was your interpretation. You use uncompiled libraries and I don't. You're persuaded your way is right and I'm not. ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:24 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, >I think you misunderstand the purpose and use of something like code librarian. And Arthur specifically mentioned "cutting and pasting modules into applications" which was what I was commenting about. Cutting and pasting anything into applications indicates that a) you have (probably) used it before, and b) you are using it again. Now a) is iffy, but if it is true then you have reached the point where it should probably be in the library. >I agree with you about libraries in principle, but when you build >something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. Which is of course something completely different and a very good use for code librarian. >I don't know about you, but I'm not omniscient enough to know that >*this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Works for me. If a function is specific to the application, it belongs in the application. In general I don't have "versions of functions". >Also, libraries in Access can be a pain when you have to distribute >them, since they don't compile into a dll. Sounds like an excuse to cut and paste. Is it not a PITA to go find and fix an error inside of 47 different applications? Is that easier than copying a library where it needs to go? Now what happens when you have 10 bug fixes or 30? A library ALWAYS wins!!! >If your library gets deleted, you are SOL. True. And if your application gets deleted you are SOL. Sounds like an excuse to cut and paste. >And since libraries should be mdes, every time you "update" one, you >have to rebuild it. I don't have any such belief. My library is an MDA, as is the application. If you want to use MDEs then you have to deal with the issues thereof. The point of a library is "write once, use forever", and "fix once, fix everywhere". Cut and paste does NOT meet the second criteria. Sorry, it just doesn't. You can make up excuses to cut and paste till the cows come home. It is not my job to follow you around making sure you don't do that, but it is my job to point out the flaws in the process so that other developers won't go getting the idea that it is a good practice. In general it just isn't good practice. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 11:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.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 cfoust at infostatsystems.com Thu May 3 11:38:20 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:38:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fe01c78d9f$c05ac880$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> <00fe01c78d9f$c05ac880$657aa8c0@m6805> Message-ID: FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Thu May 3 11:55:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:55:53 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805> Message-ID: <010301c78da3$e98212f0$657aa8c0@m6805> Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. From jwcolby at colbyconsulting.com Thu May 3 12:08:07 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 13:08:07 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805><00fc01c78d9f$6941e0b0$657aa8c0@m6805> Message-ID: <010801c78da5$9f1719c0$657aa8c0@m6805> >I wasn't making excuses for anything, John. >I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right example. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Hmm... OK, I INTERPRET these as excuses for using cut and paste. Now tell me what they REALLY are? There is absolutely nothing in that whole paragraph that validates cutting and pasting potentially bug infected code into an application when such code should be in a library, but that paragraph was sent in response to my pointing out the problems with cut and paste. ;-) >You use uncompiled libraries and I don't. Using a compiled library is fine by me, I just don't. In the Access environment it causes more problems than it fixes (as you so nicely pointed out). >You're persuaded your way is right and I'm not. My way of doing what? If you are talking about libraries vs. cut and paste, then yep, I am convinced that "my" way is right. So is the industry. In fact it is not my way at all, I just do what I do because it makes sense to do that. As I said before, I did not invent this stuff, libraries existed while I was still in diapers. Well.... OK, while I was still in grade school. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:37 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook I wasn't making excuses for anything, John. That was your interpretation. You use uncompiled libraries and I don't. You're persuaded your way is right and I'm not. ;-> Charlotte Foust From cfoust at infostatsystems.com Thu May 3 12:15:47 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 10:15:47 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <010301c78da3$e98212f0$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805> <010301c78da3$e98212f0$657aa8c0@m6805> Message-ID: The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 12:39:10 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 17:39:10 +0000 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 9:56 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Charlotte, > >A library is a group of code, the source stored (and more importantly >MAINTAINED) in one location but used in more than one place. Tell me >how that is different? > >There is no foul here. Access is the ONLY Office application that >allows libraries but they are indeed libraries. A group of code, stored >and maintained in one location but used in more than one place. Because >they are stored in one location, you fix a bug one time, at that stored >location, and then distribute the fix version to the other locations >where the code is used. > >Now I understand that with a versioning system you can get into issues >there but that is an intentional step that you take because you have a >reason to have more than one branch of the code. > >And if an Access library (which they are called libraries inside of our >programming environment) is not a library, how much more "not a library" >is a "cut and paste" exercise? > >I am discussing a simple concept here, which you KNOW is "correct". I >did not make this up, I have no vested interest in you or anyone else >using it. >It is a concept taught and used throughout the industry. > >C'mon Charlotte, give it up. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte >Foust >Sent: Thursday, May 03, 2007 12:38 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] FMS Inc. Sourcebook > >FOUL! Libraries in managed code aren't anything like Access libraries >and you know it! Grrrr > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 9:26 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > > >And that my friends is why the .NET managed code libraries make a lot > >of >sense. :) > >Notice the use of the word LIBRARIES. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro >Sent: Thursday, May 03, 2007 11:53 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >And that my friends is why the .NET managed code libraries make a lot of >sense. :) > >Combine that with n-tier approach and the software development life >cycle is less painful to manage. > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Get a FREE Web site, company branded e-mail and more from Microsoft Office Live! http://clk.atdmt.com/MRT/go/mcrssaub0050001411mrt/direct/01/ From jwcolby at colbyconsulting.com Thu May 3 12:39:45 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 13:39:45 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805><010301c78da3$e98212f0$657aa8c0@m6805> Message-ID: <010a01c78daa$0a2bfc40$657aa8c0@m6805> ROTFL. If you can't dazzle 'em with brilliance, baffle 'em with BS. Worked didn't it? 8~0 >The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. Charlotte, MDAs / MDEs are all we have in Access. To say that they are not a library because they can't be compiled into a DLL is simply not true. To say that they aren't a library because they can be messed with or that the reference can be broken also isn't true. A library is nothing more than a group of code maintained on one place and distributed for use. How you do the distribution has nothing whatsoever to do with the concept of single point maintenance of the source code. THAT is what makes a library. You can have a library in something like Code Librarian. What you CAN'T do is claim that you are using a library if you distribute the library by cutting and pasting pieces from it directly into the application. As soon as you do that you are no longer using a library, you are building an application with all of its code embedded in it. People do that all the time, and in a small shop where there is only one application then there is absolutely no point in a library. The application IS the library and the fix is done at a single place, in the application (which is the library). No foul, no harm done. As soon as you cut and paste code from that application into another application... you should be using a library, for BOTH applications, with all the shared code in the library. And that, as they say, is that. I made a comment in one of the posts that "others have also talked about cutting and pasting". I get the feeling that you thought I was poking a stick at you. I wasn't, but poking a stick at you is definitely fun. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust From cfoust at infostatsystems.com Thu May 3 13:04:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 11:04:58 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <010a01c78daa$0a2bfc40$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805><010301c78da3$e98212f0$657aa8c0@m6805> <010a01c78daa$0a2bfc40$657aa8c0@m6805> Message-ID: As you know very well, I didn't say you couldn't have libraries in Access, I said they were different from libraries in .Net. I think you're just trying to keep an argument alive, since you seem to be enjoying yourself enormously. ;-< No, John, Code Librarian is a repository, not a library, so you *can't* have a library in it. You can store stuff there but you can't call it. You *have* to copy and paste if you want to use the code, but there's no reason you can't put that code into a defined library app and stamp it with the Colby seal of approval. I personally don't want to drag all the good, bad and awful example code in my repository around in my apps or libraries, but it's very useful to know what *doesn't* work as well as what does, when I'm building something new. This is what's know as "development", and interesting concept but not much used by those who already have everything built!! Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 10:40 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook ROTFL. If you can't dazzle 'em with brilliance, baffle 'em with BS. Worked didn't it? 8~0 >The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. Charlotte, MDAs / MDEs are all we have in Access. To say that they are not a library because they can't be compiled into a DLL is simply not true. To say that they aren't a library because they can be messed with or that the reference can be broken also isn't true. A library is nothing more than a group of code maintained on one place and distributed for use. How you do the distribution has nothing whatsoever to do with the concept of single point maintenance of the source code. THAT is what makes a library. You can have a library in something like Code Librarian. What you CAN'T do is claim that you are using a library if you distribute the library by cutting and pasting pieces from it directly into the application. As soon as you do that you are no longer using a library, you are building an application with all of its code embedded in it. People do that all the time, and in a small shop where there is only one application then there is absolutely no point in a library. The application IS the library and the fix is done at a single place, in the application (which is the library). No foul, no harm done. As soon as you cut and paste code from that application into another application... you should be using a library, for BOTH applications, with all the shared code in the library. And that, as they say, is that. I made a comment in one of the posts that "others have also talked about cutting and pasting". I get the feeling that you thought I was poking a stick at you. I wasn't, but poking a stick at you is definitely fun. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 13:06:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 14:06:32 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: <010b01c78dad$c8537600$657aa8c0@m6805> LOL. Tag teams!!! But Charlotte is on MY TEAM! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 1:39 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FMS Inc. Sourcebook Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust From cfoust at infostatsystems.com Thu May 3 13:06:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 11:06:28 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: Conference? What conference? LOL I'm not available in May after all, so John is trying to aggravate me here instead of in person!! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 10:39 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FMS Inc. Sourcebook Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust > > From markamatte at hotmail.com Thu May 3 13:21:35 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 18:21:35 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: Have we set dates for the conference? Thanks, Mark A. Matte _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From markamatte at hotmail.com Thu May 3 13:27:31 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 18:27:31 +0000 Subject: [AccessD] Lists on DBA site Message-ID: Eight years ago when I joined this list...one of the first recommended sites I remember ended up shutting down a few years later. It was http://www.vbapi.com/index.html It was a list of 100's of API calls and what references where needed with each one. I used it all the time(and occasionally still)...but before it shut down, a zipped version of the site was available. Would this be a candidate for the 'LISTS' part of the website...and if so...who should I send it too? Thanks, Mark A. Matte _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From Lambert.Heenan at AIG.com Thu May 3 13:47:03 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 13:47:03 -0500 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert From kismert at gmail.com Thu May 3 13:53:40 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 03 May 2007 13:53:40 -0500 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: References: Message-ID: <463A2FB4.1050108@gmail.com> [Arthur Fuller] > ... To date my biggest beef [with Linux] has been the absence of > something as easy to use as Access ... > Arthur, I keep tabs on the Dabo project, http://dabodev.com/ , which is progressing nicely. Dabo is Python-based. For VB veterans, Python is one of the easiest languages to pick up. Dabo is a desktop GUI database app builder based on Python. It runs on PC, Mac and Linux. It natively interfaces with MySQL, PostgreSQL, FireBird, and SQLite. Work is progressing on a MS SQL Server interface. It has 'wizards' for constructing typical data-driven forms, and an IDE that approaches what Access offers. They have some great screencasts at http://dabodev.com/documentation. Dabo is developed by some FoxPro refugees, and it seems to be very clearly thought out and carefully programmed. -Ken From jwcolby at colbyconsulting.com Thu May 3 14:12:36 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 15:12:36 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> References: <00c101c78d7f$30fd5420$657aa8c0@m6805> <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Message-ID: <011501c78db7$03104d00$657aa8c0@m6805> So executing that in the query window CREATES the SP but does not execute the SP? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 14:33:20 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 19:33:20 +0000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011501c78db7$03104d00$657aa8c0@m6805> Message-ID: John, I believe I do something similar when I have to run a couple 100 SQL statements...but I don't recreate the SP everytime. I use the following SQL(At BOTTOM) from the query window and it passes my criteria(which is stored in a table) to the SP and executes it for each record. In your cases...a table listing your @filenames could be passed from a query to the SP without rewriting or editing the SP each time. I did run into a few issues with placements of quotes...but after that it ran like a champ. Good Luck, Mark A. Matte P.S...As an afterthought I included my SP template below as well...good luck. ***************SQL************* declare @ID nvarchar(255) declare MyCursor cursor for select CriteriaSQL from tblcriteria where requestname = 'KenPro' open mycursor fetch next from mycursor into @ID while (@@fetch_status =0) Begin exec Select_Records_1 @ID fetch next from mycursor into @ID End Close mycursor deallocate mycursor ***************SQL************* ***************Stored Procedure Template************* CREATE PROCEDURE [Select_Records_1] @ID nvarchar(255) AS declare @sql as varchar(1000) declare @nsql as nchar(3000) set @sql='insert into tbltester(case_id,Criteria) SELECT case_id, ' + char(34)+ at ID+char(34)+' from tblCase where case_id=1482445 and creation_date>'+char(39)+'9/30/2006'+CHAR(39)+' and ' + at ID set @nsql=@sql set nocount on exec sp_executesql @nsql set nocount off ***************Stored Procedure Template************* >From: "JWColby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Calling a stored procedure from Access >Date: Thu, 3 May 2007 15:12:36 -0400 > >So executing that in the query window CREATES the SP but does not execute >the SP? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro >Sent: Thursday, May 03, 2007 9:17 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Calling a stored procedure from Access > >Here's a template to create the sproc. > >CREATE PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > >If the sproc already exists change CREATE to ALTER > >ALTER PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > >-- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC >sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 5:33 AM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Calling a stored procedure from Access > >I am on the final leg of the data import for the 100 million record data >import. I have about 30 remaining "csv files" in a directory which have to >be imported to SQL Server. ATM I am manually editing a query which looks >like: > >BULK INSERT Infutor.dbo.infutor > FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > with ( > yadayada > ) > >Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and >NAR_ND1.CSV' is the file currently being processed. > >I have a table of all the files from a preprocessor I wrote that generated >the csv files. If I could turn query into a stored procedure with a >parameter for the file name, I could then call the stored procedure from >Access and pass in the filenames. > >I have never done this before so I need to know how this is done. I have >created a couple of stored procedures but none with a parameter that has to >be appended to a string etc. All of my books make a rather huge assumption >that any parameters passed in will be used a filters in where clauses and >so >forth, and completely ignore things like constants and variables inside of >the stored procedure. > >My ASSUMPTION is that I can create a constant to hold the path, dim a >variable to hold the finished file name with path, then append the path >constant and the passed in parameter and store the results in the string >variable. Then I can use that to replace the string in the FROM clause. >Or >just do the append directly "in place" in the FROM clause. At any rate I >end up with something like: > > . > . > . > FROM 'D:\PSMData\infutor\CSV\' & @FileName > >QUESTIONS: > >1) Having created this stored procedure, how do I get it to save? Whenever >I try to save it SQL Server tries to save it out as a text file on disk. >2) Having saved it, how do I execute it from Access passing in the file >names. > >If I can get this concept down I will be a huge step further along in my >automation task. > >Any help is much appreciated. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >No virus found in this incoming message. >Checked by AVG Free Edition. >Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 >2:16 >PM > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From ebarro at verizon.net Thu May 3 14:37:38 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 12:37:38 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011501c78db7$03104d00$657aa8c0@m6805> Message-ID: <0JHH0021UD7PWF49@vms046.mailsrvcs.net> Nope...to run the sproc you have to type this EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 12:13 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So executing that in the query window CREATES the SP but does not execute the SP? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From martyconnelly at shaw.ca Thu May 3 14:48:59 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 03 May 2007 12:48:59 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fd01c78d9f$97d9fa70$657aa8c0@m6805> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <0JHH0007R1WA83Y0@l-daemon> <00fd01c78d9f$97d9fa70$657aa8c0@m6805> Message-ID: <463A3CAB.1090806@shaw.ca> I do remember tracking down incorrect and out of date versions of SYSLIB's in JCL where concatentation order was important //SYSLIB DD ...... // DD ...... However I keep a lot of code in .txt files or even .doc or .pdf files So I use Google Desktop Search to find my code You can restrict your search to just your disk files rather than including url's of sites visited with search syntax like "ADODB.Recordset" filetype:pdf or ADODB.Recordset filetype:txt Also for obscure code you can search via Google by a particular computer language http://www.google.com/codesearch JWColby wrote: >Jim, > > > >>PS Have always used libraries... from the first days with Fortran, >> >> > >And thanks for popping up and saying so. Sometimes it feels lonely out >here. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence >Sent: Thursday, May 03, 2007 11:38 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >John: > >A developer has two distinct jobs. One is programming and the other is >debugging. One creates errors and the other task is supposed to remove them. > >Jim >PS Have always used libraries... from the first days with Fortran, > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 5:58 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > > > >>I like it because then I can stop trying to remember what app I wrote a >> >> >given function in. When starting a new app, I usually load CodeLib and then >copy in several standard modules. > >I hate to hammer on this over and over, but that is what a library is for. > >Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs >and (more importantly) an unknown number of unknown bugs. In order to fix >these bugs what does MS do? Updates. What do updates do? Install a new >"library" with bug fixes. Can you imagine Microsoft having to rifle through >your installation of windows looking for the lines of code that have a bug >that they just fixed and fixing it everywhere on 200 million computers? It >is a silly concept and we all know that. > >I am sure that you are convinced that you have no bugs in your code, but >statistics say 1 in 20 lines of code has a bug. This can be something gross >such as never ending loop (which we mostly find immediately and fix) to >something subtle like loss of data from a type conversion or something. By >cutting and pasting your code, you cut and paste your bugs. NOW you have to >remember what apps you cut and pasted bugs into! A referenced library >allows you to fix a bug and simply insert that fixed library into the >project. Since all your projects use your lib, all your projects get your >bug fixes when you insert a new lib. > >I make it a policy that all GENERIC code goes in my library. All project >specific code goes in the project. If it is not used anywhere else then it >obviously does not belong in my library, however if it is going to be used >in any other project then it does belong in my library. > >Libraries guys, NOT cut and paste modules. > >And sorry Arthur, I am not picking on you. I see LOTS of people talking >about "cutting and pasting" into their projects. That is simply a no-no in >modern system design. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > > > -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Thu May 3 14:58:56 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 15:58:56 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> Message-ID: <011d01c78dbd$7bf3a950$657aa8c0@m6805> Lambert, I guess I don't understand where the argument is? >A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. Exactly, is that not what I said? The only thing I add to that is that in order to truly function as an (effective) library the code maintenance needs to occur in a single location - fix once, fix everywhere. You can call an MDB application a library if you want (by your definition), since it can be referenced by something else to use code within it, but if there is not a single point of repair then it is just a code container. I have to guess that you are picking semantic nits here? I am discussing (or trying to anyway) a concept which is specifically "fix once, fix everywhere". The fact that you can violate that using some loophole or another is beside MY point. My point is very simply that "cut and paste" from a code repository is asking for nightmarish maintenance issues. A "library" or whatever you wish to call it, is an effective method of solving that nightmarish maintenance issue. >Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. True in a compiled environment. In an Access environment this is only true if the library is an MDE (and / or possibly the app is an MDE). If it is an MDA lib and an mdb FE then this is not true. >I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. You can reference an XLS? I was not aware of that. If you use the reference wizard (in Access), the drop down has a very specific list of file types and no excel file types are included in that list. If what you say is true then XLSs can function as a code container or library. Can you do the same thing with a .DOC file? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 2:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd666 at yahoo.com Thu May 3 15:01:33 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 13:01:33 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <010b01c78dad$c8537600$657aa8c0@m6805> Message-ID: <847659.78014.qm@web31610.mail.mud.yahoo.com> Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Mark A Matte > Sent: Thursday, May 03, 2007 1:39 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Wow...I can't wait for the conference this year. > > Should we have arm wrestling or boxing matches...lol > > I love this list!!! > > Mark > > > >From: "Charlotte Foust" > > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Date: Thu, 3 May 2007 10:15:47 -0700 > > > >The difference is that libraries in managed code > are compiled into a > >dll. Once that happens, they are no longer > available to be messed with > >by the curious, and they are true libraries, as > opposed to mdbs with a > >different name and a breakable reference in the > tools menu. > > > >You are willfully misinterpreting what I said in > order to prove your > >point, but I've totally lost track of what the > point was! I'm not > >arguing that libraries are bad, so why are you > arguing with me and what > >am I supposed to give up on?? > > > >Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Thu May 3 15:01:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 16:01:29 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> References: <00c101c78d7f$30fd5420$657aa8c0@m6805> <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Message-ID: <011e01c78dbd$d6fd0530$657aa8c0@m6805> Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 15:04:02 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 13:04:02 -0700 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <847659.78014.qm@web31610.mail.mud.yahoo.com> References: <010b01c78dad$c8537600$657aa8c0@m6805> <847659.78014.qm@web31610.mail.mud.yahoo.com> Message-ID: Even programmers who are chained to their desktops get periodic breaks. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A > Matte > Sent: Thursday, May 03, 2007 1:39 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Wow...I can't wait for the conference this year. > > Should we have arm wrestling or boxing matches...lol > > I love this list!!! > > Mark > > > >From: "Charlotte Foust" > > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Date: Thu, 3 May 2007 10:15:47 -0700 > > > >The difference is that libraries in managed code > are compiled into a > >dll. Once that happens, they are no longer > available to be messed with > >by the curious, and they are true libraries, as > opposed to mdbs with a > >different name and a breakable reference in the > tools menu. > > > >You are willfully misinterpreting what I said in > order to prove your > >point, but I've totally lost track of what the > point was! I'm not > >arguing that libraries are bad, so why are you > arguing with me and what > >am I supposed to give up on?? > > > >Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 15:12:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 16:12:29 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: References: <010b01c78dad$c8537600$657aa8c0@m6805><847659.78014.qm@web31610.mail.mud.yahoo.com> Message-ID: <012001c78dbf$6090a2b0$657aa8c0@m6805> Somebody definitely needs to tighten her chains though!!! Me, I'm a consultant, working in my office over my bedroom. I am sooooo efficient using my libs that I sit around all day blowing bubbles. Sometimes poking Charlotte with a stick momentarily becomes more fun than blowing bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 4:04 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Even programmers who are chained to their desktops get periodic breaks. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From Lambert.Heenan at AIG.com Thu May 3 15:16:05 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 16:16:05 -0400 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> " I have to guess that you are picking semantic nits here? I am discussing (or trying to anyway) a concept which is specifically "fix once, fix everywhere". The fact that you can violate that using some loophole or another is beside MY point. My point is very simply that "cut and paste" from a code repository is asking for nightmarish maintenance issues. A "library" or whatever you wish to call it, is an effective method of solving that nightmarish maintenance issue." I think I might have missed somebody's point earlier on myself :-) I am not advocating cutting and pasting favorite routines from some rag-tag collection of code text either. I'm with you there. You want to have a fully functional mde/mda/mdb/dll/ocx (whatever) that has all the routines you wish to share amongst applications. The specifics of what may or may not need to be recompiled is just a technology dependency. Sometime you need to recompile, sometimes not. As for other Office references. Yes you can set a reference to a "library" .XLS file - from any other .XLS file. And yes you can also create a .DOC (or .DOT) Word file with a bunch of code and set a reference to that = from within another Word document. What you cannot do is set a reference to an Excel 'Library' from with an Word doc, or visa versa. Lambert From Lambert.Heenan at AIG.com Thu May 3 15:29:38 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 16:29:38 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402CB@xlivmbx35.aig.com> Now now. Let's not get everyone jealous of your 18 foot commute! :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 4:12 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Somebody definitely needs to tighten her chains though!!! Me, I'm a consultant, working in my office over my bedroom. I am sooooo efficient using my libs that I sit around all day blowing bubbles. Sometimes poking Charlotte with a stick momentarily becomes more fun than blowing bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Thu May 3 17:30:11 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 15:30:11 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011e01c78dbd$d6fd0530$657aa8c0@m6805> Message-ID: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From galeper at gmail.com Thu May 3 18:34:02 2007 From: galeper at gmail.com (Gale Perez) Date: Thu, 3 May 2007 16:34:02 -0700 Subject: [AccessD] (1) Text Box Formatted as " >" and (2) function to get user name for Windows In-Reply-To: <46366C52.25936.38E67B78@stuart.lexacorp.com.pg> References: <5b2621db0704301510o68d4e9aeu35b66872155cd2dd@mail.gmail.com> <46366C52.25936.38E67B78@stuart.lexacorp.com.pg> Message-ID: <5b2621db0705031634j175be1dcsafdc1d6f3dbd5cec@mail.gmail.com> Thank you so much!! Gale On 4/30/07, Stuart McLachlan wrote: > > On 30 Apr 2007 at 15:10, Gale Perez wrote: > > > Hi! > > > > It has been a while since I have developed in Access, and I'm reviewing > my > > old databases (I am very indebted to this group for assistance in > developing > > them). I cannot remember what the ">" character in the Format property > of a > > text box does and hoped someone can tell me. > > > > Displays characters as upper case. > > > I also had been given a function to get the Novell User Name of a user > in > > order to set user permissions, etc. without having an actual login box > (it > > gets the Novell user name automatically and compares that to the one > stored > > in the table to see if the user is in the database). It works > beautifully > > but now I am working in Windows, and I wondered whether a similar > function > > exists for Windows (XP and other versions). > > Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" > (ByVal > lpBuffer As String, nSize As Long) As Long > > Function UserName() As String > Dim strUName As String > Dim lngRetVal As Long > strUName = Space$(16) > lngRetVal = GetUserName(strUName, 16) > strUName = Trim$(strUName) > 'strip Chr$(0) from end of name > UserName = Left$(strUName, Len(strUName) - 1) > End Function > > -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From martyconnelly at shaw.ca Thu May 3 18:42:26 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 03 May 2007 16:42:26 -0700 Subject: [AccessD] Method to replace loss of User Level Security in Access 2007 In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> Message-ID: <463A7362.1000903@shaw.ca> I got pointed to this on an another list by Bill Mosca. It could be a replacement for the loss of User Level Security in Access 2007, It shows how to go about limiting permissions in the new accdb file format to forms and data. The method called vPPC ? Virtual Password Protected Connection involves a mid-tier accdb. There are also two sample 2003 and 2007 databases. http://www.pdtltd.co.uk/pdtl/technicalresources.htm -- Marty Connelly Victoria, B.C. Canada From cfoust at infostatsystems.com Thu May 3 18:46:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 16:46:42 -0700 Subject: [AccessD] Method to replace loss of User Level Security in Access2007 In-Reply-To: <463A7362.1000903@shaw.ca> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> <463A7362.1000903@shaw.ca> Message-ID: Ooooh, good stuff!! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 03, 2007 4:42 PM To: Access Developers discussion and problem solving Subject: [AccessD] Method to replace loss of User Level Security in Access2007 I got pointed to this on an another list by Bill Mosca. It could be a replacement for the loss of User Level Security in Access 2007, It shows how to go about limiting permissions in the new accdb file format to forms and data. The method called vPPC - Virtual Password Protected Connection involves a mid-tier accdb. There are also two sample 2003 and 2007 databases. http://www.pdtltd.co.uk/pdtl/technicalresources.htm -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From galeper at gmail.com Thu May 3 18:59:12 2007 From: galeper at gmail.com (Gale Perez) Date: Thu, 3 May 2007 16:59:12 -0700 Subject: [AccessD] Form or Subform Dirty Message-ID: <5b2621db0705031659p54cc09a8p9c22eba1bf995ffd@mail.gmail.com> Hi! I have a form/subform and am trying to determine whether it is dirty, but "it" isn't seeing the record as having been modified whether I say "Me.Dirty" or the syntax below. I am not getting the message box to fire. I would greatly appreciate any assistance. Here is the basic code: If Me.mysubformname.Form.Dirty Then If MsgBox("Do you want to save your changes?", vbYesNo) = vbYes Then 'do whatever Else 'undo changes End if Else 'do whatever End if Once I get the message box to fire, I anticipate having problems changing the subform controls and wonder if Me.Undo, or the MS suggestion ctl.Value = ctl.OldValue, or if I would have to include a reference to the subform. Thank you very much for any advice. Gale From john at winhaven.net Thu May 3 20:15:05 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 20:15:05 -0500 Subject: [AccessD] Lists on DBA site In-Reply-To: References: Message-ID: <002a01c78de9$a6f63c40$6402a8c0@ScuzzPaq> Hi Mark, Sounds like a good idea. You can send it to me and we'll look into it. I'll keep in touch with you about it. Thanks for thinking of it. John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 1:28 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lists on DBA site Eight years ago when I joined this list...one of the first recommended sites I remember ended up shutting down a few years later. It was http://www.vbapi.com/index.html It was a list of 100's of API calls and what references where needed with each one. I used it all the time(and occasionally still)...but before it shut down, a zipped version of the site was available. Would this be a candidate for the 'LISTS' part of the website...and if so...who should I send it too? Thanks, Mark A. Matte _________________________________________________________________ Download Messenger. Join the im Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From jwcolby at colbyconsulting.com Thu May 3 20:33:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 21:33:53 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> Message-ID: <000001c78dec$47792b30$657aa8c0@m6805> Could you please just give me a valid syntax for setting a variable equal to the string C:\MyDir\MyFileName.txt? It appears that it doesn't like the \ but I cannot figure out how to please the SQL gods. I need a variable @filePath I need to set @FilePath = 'C:\MyDir\' I get an error: Incorrect syntax near '\' Once I get that, I need to append the file name in @FileName SET @FilePath = @FilePath + @FileName This is the year 2007 for crying out loud and I am getting "invalid syntax near '\' .." back from my computer. I feel like Scotty in Star trek - The Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking into it... Computer, I need... Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 20:51:11 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 18:51:11 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <0JHH00AREUHCM353@vms042.mailsrvcs.net> DECLARE @FilePath varchar(255) DECLARE @FileName varchar(255) SET @FileName = 'MyFileName.txt' SET @FilePath = 'C:\MyDir\' + @FileName SELECT @FilePath -- this line should give you C:\MyDir\MyFileName.txt as the result -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 6:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Could you please just give me a valid syntax for setting a variable equal to the string C:\MyDir\MyFileName.txt? It appears that it doesn't like the \ but I cannot figure out how to please the SQL gods. I need a variable @filePath I need to set @FilePath = 'C:\MyDir\' I get an error: Incorrect syntax near '\' Once I get that, I need to append the file name in @FileName SET @FilePath = @FilePath + @FileName This is the year 2007 for crying out loud and I am getting "invalid syntax near '\' .." back from my computer. I feel like Scotty in Star trek - The Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking into it... Computer, I need... Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From john at winhaven.net Thu May 3 21:32:14 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 21:32:14 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> Message-ID: <003101c78df4$6dc34980$6402a8c0@ScuzzPaq> FYI - you can also do this with a .ppa in PowerPoint. Yes, i know that's going to be soooo useful for all you ;o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 3:16 PM As for other Office references. Yes you can set a reference to a "library" .XLS file - from any other .XLS file. And yes you can also create a .DOC (or .DOT) Word file with a bunch of code and set a reference to that = from within another Word document. What you cannot do is set a reference to an Excel 'Library' from with an Word doc, or visa versa. From jwcolby at colbyconsulting.com Thu May 3 21:37:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 22:37:53 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00AREUHCM353@vms042.mailsrvcs.net> References: <000001c78dec$47792b30$657aa8c0@m6805> <0JHH00AREUHCM353@vms042.mailsrvcs.net> Message-ID: <000101c78df5$38e0d0b0$657aa8c0@m6805> OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com From stuart at lexacorp.com.pg Thu May 3 21:35:28 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 04 May 2007 12:35:28 +1000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000001c78dec$47792b30$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805>, <0JHH00KTUL6FVN82@vms040.mailsrvcs.net>, <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <463B2890.6303.478AF00@stuart.lexacorp.com.pg> Don't know what you are doing wrong, but: This works: CREATE PROCEDURE test @PATHNAME varchar(50), @FILENAME varchar(50) AS select @pathname + @filename GO "test 'c:\testdir\', 'myfile.txt'" in Query Analyser returns the string "c:\testdir\myfile.txt" Change the SProc to: CREATE PROCEDURE test @FILENAME varchar(50) AS declare @pathname varchar(50) set @pathname = 'C:\TestDir\' select @pathname + @filename GO and then "test 'myfile.txt'" returns the same as above On 3 May 2007 at 21:33, JWColby wrote: > Could you please just give me a valid syntax for setting a variable equal to > the string C:\MyDir\MyFileName.txt? > > It appears that it doesn't like the \ but I cannot figure out how to please > the SQL gods. > > I need a variable > > @filePath > > I need to set @FilePath = 'C:\MyDir\' > > I get an error: > > Incorrect syntax near '\' > > Once I get that, I need to append the file name in @FileName > > SET @FilePath = @FilePath + @FileName > > This is the year 2007 for crying out loud and I am getting "invalid syntax > near '\' .." back from my computer. I feel like Scotty in Star trek - The > Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking > into it... Computer, I need... > > Thanks, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro > Sent: Thursday, May 03, 2007 6:30 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > John, > > Here's how I created the bulk insert statement for my application... > > ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft > @DataFileName varchar(255), > @ImportFormatFileName varchar(255) > AS > BEGIN > -- SET NOCOUNT ON added to prevent extra result sets from > -- interfering with SELECT statements. > SET NOCOUNT ON; > > DECLARE @sql varchar(1000) > > -- Create a table to hold the data > CREATE TABLE #tmpEmployees > ( > suffix varchar(5), > last_name varchar(30), > first_name varchar(20), > > ...the rest of your fields go in here > > ) > -- Read the text file into the temp table > SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + > @DataFileName + CHAR(39) > SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + > @ImportFormatFileName + CHAR(39) + ')' > > EXEC (@sql) > > -- Remove the records from the Employees table first > --NOTE: truncate bypasses transaction log but it is the fastest way > to clear a table and reset identity fields; use DELETE FROM if you want to > recover using t-log > TRUNCATE TABLE Employees > -- insert the records into the Employees table > INSERT INTO Employees > SELECT > RTRIM(suffix) as suffix, > RTRIM(last_name) as last_name, > RTRIM(first_name) as first_name, > > ...the rest of your fields go in here > > FROM #tmpEmployees > -- And then clean up > DROP TABLE #tmpEmployees > END > > Here's a link that shows how to call the sproc using ADO via Access. > > http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 > > > --Eric > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Thursday, May 03, 2007 1:01 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > Eric, > > I have written an SP to do what I need, but of course... > > The sproc looks like: > > CREATE PROCEDURE BulkInsertInfutor > @FilName Char(25) > AS > BEGIN > SET NOCOUNT ON; > BULK INSERT INFUTOR.dbo.Infutor > FROM 'D:\PSMData\Infutor\CSV\' + @FilName > WITH ( > > ) > END > > I am getting a "parse error" > > Incorrect syntax near + > Incorrect syntax near With > > I think if I can solve this parse error I will be there. > > Then... How do you call it from Access? I a query? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro > Sent: Thursday, May 03, 2007 9:17 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > Here's a template to create the sproc. > > CREATE PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > > If the sproc already exists change CREATE to ALTER > > ALTER PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > > -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC > sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Thursday, May 03, 2007 5:33 AM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Calling a stored procedure from Access > > I am on the final leg of the data import for the 100 million record data > import. I have about 30 remaining "csv files" in a directory which have to > be imported to SQL Server. ATM I am manually editing a query which looks > like: > > BULK INSERT Infutor.dbo.infutor > FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > with ( > yadayada > ) > > Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and > NAR_ND1.CSV' is the file currently being processed. > > I have a table of all the files from a preprocessor I wrote that generated > the csv files. If I could turn query into a stored procedure with a > parameter for the file name, I could then call the stored procedure from > Access and pass in the filenames. > > I have never done this before so I need to know how this is done. I have > created a couple of stored procedures but none with a parameter that has to > be appended to a string etc. All of my books make a rather huge assumption > that any parameters passed in will be used a filters in where clauses and so > forth, and completely ignore things like constants and variables inside of > the stored procedure. > > My ASSUMPTION is that I can create a constant to hold the path, dim a > variable to hold the finished file name with path, then append the path > constant and the passed in parameter and store the results in the string > variable. Then I can use that to replace the string in the FROM clause. Or > just do the append directly "in place" in the FROM clause. At any rate I > end up with something like: > > . > . > . > FROM 'D:\PSMData\infutor\CSV\' & @FileName > > QUESTIONS: > > 1) Having created this stored procedure, how do I get it to save? Whenever > I try to save it SQL Server tries to save it out as a text file on disk. > 2) Having saved it, how do I execute it from Access passing in the file > names. > > If I can get this concept down I will be a huge step further along in my > automation task. > > Any help is much appreciated. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 markamatte at hotmail.com Thu May 3 21:58:54 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 02:58:54 +0000 Subject: [AccessD] Lists on DBA site In-Reply-To: <002a01c78de9$a6f63c40$6402a8c0@ScuzzPaq> Message-ID: John, Sent it to Jim already. Thanks, Mark P.S...Lets watch and make sure it gets there. >From: "John Bartow" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Lists on DBA site >Date: Thu, 3 May 2007 20:15:05 -0500 > >Hi Mark, >Sounds like a good idea. You can send it to me and we'll look into it. > >I'll keep in touch with you about it. Thanks for thinking of it. > >John Bartow, President >Database Advisors, Inc. >Email: mailto:president at databaseadvisors.com >Website: http://www.databaseadvisors.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Thursday, May 03, 2007 1:28 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Lists on DBA site > >Eight years ago when I joined this list...one of the first recommended >sites >I remember ended up shutting down a few years later. It was >http://www.vbapi.com/index.html > >It was a list of 100's of API calls and what references where needed with >each one. I used it all the time(and occasionally still)...but before it >shut down, a zipped version of the site was available. > >Would this be a candidate for the 'LISTS' part of the website...and if >so...who should I send it too? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Download Messenger. Join the im Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From ebarro at verizon.net Thu May 3 22:01:13 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 20:01:13 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000101c78df5$38e0d0b0$657aa8c0@m6805> Message-ID: <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From jwcolby at colbyconsulting.com Thu May 3 22:23:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 23:23:08 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> References: <000101c78df5$38e0d0b0$657aa8c0@m6805> <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> Message-ID: <000201c78dfb$89ac32e0$657aa8c0@m6805> Eric, Thanks so much for your patience. Infutor is the database name, as well as the table name. I just changed the table to be called tblInfutor. I corrected the syntax error to get the '\n'. As soon as I put the Use statement in there I get a syntax error: A Use database statement is not allowed in a procedure, function or trigger. What I have now is: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT dbo.tblinfutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\n' + char(39) + ')' exec @SQL END I now get the error: Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename From ebarro at verizon.net Thu May 3 22:37:47 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 20:37:47 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000201c78dfb$89ac32e0$657aa8c0@m6805> Message-ID: <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> Hmmm...how are you running the sproc? Are you running the sproc in the SQL query window? Or are you calling it from inside MS Access? Can you verify the following for me? 1. Where did you create the sproc? I have to assume that you created it in the Infutor database? In SQL server query window it is easy to create the sproc in the master database. 2. On SQL Management Studio click on the Infutor database and then click New Query on the toolbar and type this... EXEC BulkInsertInfutor 'NAR_MT1.csv' Are you getting an error or is it executing properly? 3. Change exec @SQL to exec (@SQL) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 8:23 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, Thanks so much for your patience. Infutor is the database name, as well as the table name. I just changed the table to be called tblInfutor. I corrected the syntax error to get the '\n'. As soon as I put the Use statement in there I get a syntax error: A Use database statement is not allowed in a procedure, function or trigger. What I have now is: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT dbo.tblinfutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\n' + char(39) + ')' exec @SQL END I now get the error: Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From stuart at lexacorp.com.pg Thu May 3 22:56:41 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 04 May 2007 13:56:41 +1000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000201c78dfb$89ac32e0$657aa8c0@m6805> References: <000101c78df5$38e0d0b0$657aa8c0@m6805>, <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net>, <000201c78dfb$89ac32e0$657aa8c0@m6805> Message-ID: <463B3B99.7160.4C30AC4@stuart.lexacorp.com.pg> On 3 May 2007 at 23:23, JWColby wrote: > > Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... Do you have the correct rights? Only members of the sysadmin and bulkadmin fixed server roles can execute BULK INSERT. From jwcolby at colbyconsulting.com Thu May 3 23:16:37 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 00:16:37 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> References: <000201c78dfb$89ac32e0$657aa8c0@m6805> <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> Message-ID: <000301c78e03$044204b0$657aa8c0@m6805> 0) I am running the sproc from a query window directly inside of SQL Server. 1) I created the Sproc in Azul/Databases/Infutor/Programability/Stored Procedures 2) It is giving me that "could not locate entry" error message 3) THAT FIXED IT (I think). No error and the SP appears to be running. It came back awfully quickly though. 15 seconds. I just recorded the current record count (properties for the table) and ran the next file and the row count incremented by the expected value. This looks like it is working! Ant the speed appears to be even faster (14K / second vs 11K / second). With speeds like this I can afford to redo the complete count using my soon to be written code. Well... Since you da man, how would I return the number of records appended? I am shooting for a system where an Access (for now) application loads all of these files automatically, logging that they loaded, the number of records, moving the files to a backup directory etc. I have already logged how many records I converted from raw text to the CSV, so if I can get a "row count" back, preferably the number appended, but total in the table would work (I can do the math) then I could log the results to make sure the same number is appended as are in the CSV file. And THANKS for your perserverence. This is my first foray into stored procs and like all first forays, it hasn't been fun. In all of the example procs I have looked at, NONE have tried to do a bulk insert or even handled a file name. They all talk about where clauses or building up field in records or... Anything except what I need to do. Thanks again, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Hmmm...how are you running the sproc? Are you running the sproc in the SQL query window? Or are you calling it from inside MS Access? Can you verify the following for me? 1. Where did you create the sproc? I have to assume that you created it in the Infutor database? In SQL server query window it is easy to create the sproc in the master database. 2. On SQL Management Studio click on the Infutor database and then click New Query on the toolbar and type this... EXEC BulkInsertInfutor 'NAR_MT1.csv' Are you getting an error or is it executing properly? 3. Change exec @SQL to exec (@SQL) From jwcolby at colbyconsulting.com Thu May 3 23:44:38 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 00:44:38 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> Message-ID: <000401c78e06$ede53d00$657aa8c0@m6805> Eric, >http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 This code does not work for my purposes. Probably because I am not returning a recordset. I cut and pasted it in and fixed up the pieces but ended up with a "multistep process not completed. No work done" error message on the last step: GetADoRSP.Open... If I can get this part working I am golden! Thanks for your assistance in all this. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric From accessd at shaw.ca Fri May 4 00:28:25 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 03 May 2007 22:28:25 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000101c78df5$38e0d0b0$657aa8c0@m6805> Message-ID: <0JHI009OU4COJNM0@l-daemon> Hi John: I am not sure if this is the reason for your problem but all my external requests for files and applications, through Stored Procedures are run like so: CREATE PROCEDURE JTBCreateImportAll AS /* Build all the import tables */ CREATE TABLE [dbo].[Customer]( ... ... /* Import the data */ SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS OFF EXEC master..xp_cmdshell 'D:\import\ImportCustomer.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportTransactionLog.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportInventory.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportAR.exe', no_output GO ...through an external xp_cmdshell app in the master directory. The actual files that run the import routine are in compiled VB code. I can send you a copy of one of the source files so you can re-design and re-compile your own. The files are not nearly the size of yours being a maximum of 80,000 records, in delimitated text format. The creation of 80plus tables, importing the data and creating indexes usually takes about an hour. One note is there is a maximum size of a SP but by creating an UDF for each table and calling them from a SP you can easily get around that linmit. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From max.wanadoo at gmail.com Fri May 4 02:25:01 2007 From: max.wanadoo at gmail.com (Max Wanadoo) Date: Fri, 4 May 2007 08:25:01 +0100 Subject: [AccessD] Access KeyCodes Message-ID: Dear All, In the ONKEYDOWN Event of a control on my form when using Event Procedures I get the following code created:- Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) Call pfKeyPress(Keycode) ' I then add in my function to call to handle the key pressed by user End Sub However, I have 81 such controls in a 9x9 grid and the above code is repeated 81 times and I would like to remove all this and replace them all with a direct call to a function, for example if I wanted to call my own procedure to handle form events I normally use the following format in the ONEVENT that I was interested in, eg ONENTER:- =pfSetStartPoint(Form) 'in here would be my code to handle the control that had, in this example, been entered. Access understands and passes the value of (Form) which is the name of the current form. This means there is no code on the form event and all code can sit in a public procedure which can be used by any form that calls it. My problem is that if I use the format =pfKeyCode(KeyCode) to replace the ONKEYDOWN Event it complains that it does not contain the automation value of KeyCode. It DOES understand (Form) but not (KeyCode). Does anyone know how to get the value of KeyCode? Thanks Max From Andrew.Curtis at wapl.com.au Fri May 4 02:38:33 2007 From: Andrew.Curtis at wapl.com.au (Curtis, Andrew (WAPL)) Date: Fri, 4 May 2007 15:38:33 +0800 Subject: [AccessD] Access KeyCodes In-Reply-To: References: Message-ID: How about using the form's keydown event, write the keycode to a hidden control on the form (hdenKeyCode) when a key is pressed anywhere on the form, then use the onUpdate of the hdenKeyCode control to trigger your pfKeyPress(Keycode) function using pfKeyPress(forms!myform!hdenKeyCode)? I know its Friday here, give me a break :) --andrew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo Sent: Friday, 4 May 2007 3:25 PM To: Access Developers discussion and problem solving Subject: [AccessD] Access KeyCodes Dear All, In the ONKEYDOWN Event of a control on my form when using Event Procedures I get the following code created:- Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) Call pfKeyPress(Keycode) ' I then add in my function to call to handle the key pressed by user End Sub However, I have 81 such controls in a 9x9 grid and the above code is repeated 81 times and I would like to remove all this and replace them all with a direct call to a function, for example if I wanted to call my own procedure to handle form events I normally use the following format in the ONEVENT that I was interested in, eg ONENTER:- =pfSetStartPoint(Form) 'in here would be my code to handle the control that had, in this example, been entered. Access understands and passes the value of (Form) which is the name of the current form. This means there is no code on the form event and all code can sit in a public procedure which can be used by any form that calls it. My problem is that if I use the format =pfKeyCode(KeyCode) to replace the ONKEYDOWN Event it complains that it does not contain the automation value of KeyCode. It DOES understand (Form) but not (KeyCode). Does anyone know how to get the value of KeyCode? Thanks Max -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com This message and any attached files may contain information that is confidential and/or subject of legal privilege intended only for use by the intended recipient. If you are not the intended recipient or the person responsible for delivering the message to the intended recipient, be advised that you have received this message in error and that any dissemination, copying or use of this message or attachment is strictly forbidden, as is the disclosure of the information therein. If you have received this message in error please notify the sender immediately and delete the message. From BarbaraRyan at cox.net Fri May 4 04:52:38 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Fri, 4 May 2007 05:52:38 -0400 Subject: [AccessD] Access KeyCodes References: Message-ID: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> Max....Using a class may help. Check out the downloads (on classes/framework) on John Colby's site at http://www.colbyconsulting.com/ .....Barb ----- Original Message ----- From: "Max Wanadoo" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 3:25 AM Subject: [AccessD] Access KeyCodes > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event Procedures > I > get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the > key pressed by user > End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested in, > eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that > had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the > current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used > by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace the > ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not > (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bbruen at unwired.com.au Fri May 4 07:23:21 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 4 May 2007 22:23:21 +1000 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year Message-ID: <200705042223.22841.bbruen@unwired.com.au> I dont know the heratige of this, but it certainly had me laughing. avagoodweekend! Below is a copy of a letter that won a competition in UK as complaint letter of the year...have a laugh and read on. Complaint Letter of the Year. The British do have a way with words.... A real-life customer complaint letter sent to -- (to their complaints dept....) Dear Cretins, I have been an -- customer since 9th July 2001, when I signed up for your 3-in-one deal for cable TV, cable modem, and telephone. During this three-month period I have encountered inadequacy of service which I had not previously considered possible, as well as ignorance and stupidity of monolithic proportions. Please allow me to provide specific details, so that you can either pursue your professional perogative, and seek to rectify these difficulties - or more likely (I suspect) so that you can have some entertaining reading material as you while away the working day smoking B&H and drinking vendor-coffee on the bog in your office: My initial installation was cancelled without warning, resulting in my spending an entire Saturday sitting on my fat arse waiting for your technician to arrive. When he did not arrive, I spent a further 57 minutes listening to your infuriating hold music, and the even more annoying Scottish robot woman telling me to look at your helpful website....HOW? I alleviated the boredom by playing with my testicles for a few minutes - an activity at which you are no-doubt both familiar and highly adept. The rescheduled installation then took place some two weeks later, although the technician did forget to bring a number of vital tools - such as a drill-bit, and his cerebrum. Two weeks later, my cable modem had still not arrived. After 15 telephone calls over 4 weeks my modem arrived... six weeks after I had requested it, and begun to pay for it. I estimate your internet server's downtime is roughly 35%... hours between about 6pm -midnight, Mon-Fri, and most of the weekend. I am still waiting for my telephone connection. I have made 9 calls on my mobile to your no-help line, and have been unhelpfully transferred to a variety of disinterested individuals, who are it seems also highly skilled bollock jugglers. I have been informed that a telephone line is available (and someone will call me back); that no telephone line is available (and someone will call me back); that I will be transferred to someone who knows whether or not a telephone line is available (and then been cut off); that I will be transferred to someone (and then been redirected to an answer machine informing me that your office is closed); that I will be transferred to someone and then been redirected to the irritating Scottish robot woman...and several other variations on this theme. Doubtless you are no longer reading this letter, as you have at least a thousand other dissatisfied customers to ignore, and also another one of those crucially important testicle-moments to attend to. Frankly I don't care, it's far more satisfying as a customer to voice my frustration's in print than to shout them at your unending hold music. Forgive me, therefore, if I continue. I thought ** were shit, that they had attained the holy piss-pot of god- awful customer relations, that no-one, anywhere, ever, could be more disinterested, less helpful or more obstructive to delivering service to their customers. That's why I chose ---, and because, well, there isn't anyone else is there? How surprised I therefore was, when I discovered to my considerable dissatisfaction and disappointment what a useless shower of bastards you truly are. You are sputum-filled pieces of distended rectum incompetents of the highest order. @@ - wankers though they are - shine like brilliant beacons of success, in the filthy puss-filled mire of your seemingly limitless inadequacy. Suffice to say that I have now given up on my futile and foolhardy quest to receive any kind of service from you. I suggest that you cease any potential future attempts to extort payment from me for the services which you have so pointedly and catastrophically failed to deliver - any such activity will be greeted initially with hilarity and disbelief quickly be replaced by derision, and even perhaps bemused rage. I enclose two small deposits, selected with great care from my cats litter tray, as an expression of my utter and complete contempt for both you and your pointless company. I sincerely hope that they have not become desiccated during transit - they were satisfyingly moist at the time of posting, and I would feel considerable disappointment if you did not experience both their rich aroma and delicate texture. Consider them the very embodiment of my feelings towards NTL, and its worthless employees. Have a nice day - may it be the last in you miserable short life, you irritatingly incompetent and infuriatingly unhelpful bunch of twats. John -- regards Bruce From bbruen at unwired.com.au Fri May 4 08:06:04 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 4 May 2007 23:06:04 +1000 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042223.22841.bbruen@unwired.com.au> References: <200705042223.22841.bbruen@unwired.com.au> Message-ID: <200705042306.05056.bbruen@unwired.com.au> On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce From Kwilliamson at RTKL.com Fri May 4 08:25:31 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 09:25:31 -0400 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042306.05056.bbruen@unwired.com.au> References: <200705042223.22841.bbruen@unwired.com.au> <200705042306.05056.bbruen@unwired.com.au> Message-ID: OMG!!! Too damn funny. I didn't know that Comcast was in the UK. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bruce Bruen Sent: Friday, May 04, 2007 9:06 AM To: Access Developers discussion and problem solving; Vince Daloia Subject: Re: [AccessD] OT: Friday,and rather long. Complaint letter of the year On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From Elizabeth.J.Doering at wellsfargo.com Fri May 4 09:36:09 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 09:36:09 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net> <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" From ebarro at verizon.net Fri May 4 09:36:28 2007 From: ebarro at verizon.net (Eric Barro) Date: Fri, 04 May 2007 07:36:28 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000401c78e06$ede53d00$657aa8c0@m6805> Message-ID: <0JHI001ZVTWZJNN4@vms048.mailsrvcs.net> John, I can't find the code in my code VBA/VBScript LIBRARY (I do know I have it...just have to dig through my CD archives) but the general approach would go something like this... Option 1 1. Add this line at the end of your sproc - RETURN @@ROWCOUNT 2. Use the ADO command object 3. Add a command parameter and define that parameter as output in scope (must be the first parameter) 4. After executing the sproc grab the value of that parameter Option 2 1. Add an output parameter to your sproc (i.e. @retVal int=0, OUTPUT) 2. Add this line at the bottom of the sproc (SET @retVal = @@ROWCOUNT) 3. At the end of the sproc return that value (i.e. RETURN @retVal) 4. Use the ADO command object 5. After executing the sproc grab the value of that parameter --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:45 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, >http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 This code does not work for my purposes. Probably because I am not returning a recordset. I cut and pasted it in and fixed up the pieces but ended up with a "multistep process not completed. No work done" error message on the last step: GetADoRSP.Open... If I can get this part working I am golden! Thanks for your assistance in all this. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From developer at ultradnt.com Fri May 4 10:03:43 2007 From: developer at ultradnt.com (Steve Conklin) Date: Fri, 4 May 2007 11:03:43 -0400 Subject: [AccessD] Access KeyCodes In-Reply-To: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> References: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> Message-ID: <008601c78e5d$6bfbdf40$0200a8c0@ULTRADNT> Is the form's key preview property set to true/yes? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Friday, May 04, 2007 5:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access KeyCodes Max....Using a class may help. Check out the downloads (on classes/framework) on John Colby's site at http://www.colbyconsulting.com/ .....Barb ----- Original Message ----- From: "Max Wanadoo" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 3:25 AM Subject: [AccessD] Access KeyCodes > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event Procedures > I > get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the > key pressed by user > End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested in, > eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that > had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the > current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used > by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace the > ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not > (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 10:11:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:11:04 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: <001a01c78e5e$6fa87710$657aa8c0@m6805> "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Fri May 4 10:11:06 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Fri, 4 May 2007 10:11:06 -0500 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: Now THAT is an interesting tidbit from this discussion. I'll have to play with that one. As far as cut and paste is concerned I have to agree with John. Personally I think cut-and-masking tape is much preferable. :-) Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 1:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert -- *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From pcs at azizaz.com Fri May 4 10:19:17 2007 From: pcs at azizaz.com (Borge Hansen) Date: Sat, 5 May 2007 01:19:17 +1000 Subject: [AccessD] code to find the population within a radius of a zip code References: <0JHB006MNTMD9X70@l-daemon><006b01c78b68$04a684f0$657aa8c0@m6805> <007501c78b6f$8bb4a150$657aa8c0@m6805> Message-ID: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> >John Colby wrote: >I converted the code to find the population within a radius of a zip code. Hi John, What does your VBA code look like? I am using a code that will find a subset of records based on their geocode within a near enough square, ...and querying the recordset like this ....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is between "most western Long" and "most eastern Long" Interested to see your code based on a circle construct..... Regards borge From Elizabeth.J.Doering at wellsfargo.com Fri May 4 10:19:43 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 10:19:43 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Kwilliamson at RTKL.com Fri May 4 10:22:01 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 11:22:01 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001a01c78e5e$6fa87710$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: Wow...don't sugar-coat it, John....let us really know what you think. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From mmattys at rochester.rr.com Fri May 4 10:21:14 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Fri, 4 May 2007 11:21:14 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - References: <010b01c78dad$c8537600$657aa8c0@m6805> <847659.78014.qm@web31610.mail.mud.yahoo.com> <012001c78dbf$6090a2b0$657aa8c0@m6805> Message-ID: <009501c78e5f$dc9f4050$0302a8c0@Laptop> My usual supplier seems to be out at the moment as there was a run on bubbles yesterday for some reason that has yet to be determined ... Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 03, 2007 4:12 PM Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - > Somebody definitely needs to tighten her chains though!!! > > Me, I'm a consultant, working in my office over my bedroom. I am sooooo > efficient using my libs that I sit around all day blowing bubbles. > Sometimes poking Charlotte with a stick momentarily becomes more fun than > blowing bubbles. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From jwcolby at colbyconsulting.com Fri May 4 10:21:41 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:21:41 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: <001b01c78e5f$eb11d440$657aa8c0@m6805> That is indeed an interesting tidbit. So far I have not done any work directly in the other office applications. I have saved code in modules in Excel, but I have only ever used it by calling it by automation. It is probably useless info to me but if I ever do just have to do work in the other apps it will be good to know. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Now THAT is an interesting tidbit from this discussion. I'll have to play with that one. As far as cut and paste is concerned I have to agree with John. Personally I think cut-and-masking tape is much preferable. :-) Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 1:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert From jwcolby at colbyconsulting.com Fri May 4 10:24:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:24:08 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <009501c78e5f$dc9f4050$0302a8c0@Laptop> References: <010b01c78dad$c8537600$657aa8c0@m6805><847659.78014.qm@web31610.mail.mud.yahoo.com><012001c78dbf$6090a2b0$657aa8c0@m6805> <009501c78e5f$dc9f4050$0302a8c0@Laptop> Message-ID: <001c01c78e60$42d41b70$657aa8c0@m6805> LOL, I buy early and in quantities. I can supply you some, but of course there will be a slight markup. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Friday, May 04, 2007 11:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - My usual supplier seems to be out at the moment as there was a run on bubbles yesterday for some reason that has yet to be determined ... Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 03, 2007 4:12 PM Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - > Somebody definitely needs to tighten her chains though!!! > > Me, I'm a consultant, working in my office over my bedroom. I am sooooo > efficient using my libs that I sit around all day blowing bubbles. > Sometimes poking Charlotte with a stick momentarily becomes more fun than > blowing bubbles. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 4 10:28:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:28:04 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> Message-ID: <001d01c78e60$cf301d30$657aa8c0@m6805> Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 10:29:17 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:29:17 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <001e01c78e60$fb27e990$657aa8c0@m6805> ;~) Just thought she otta know. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Keith Williamson Sent: Friday, May 04, 2007 11:22 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table Wow...don't sugar-coat it, John....let us really know what you think. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ---------------------------------------------------------------------------- ---- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Fri May 4 10:42:25 2007 From: JHewson at karta.com (Jim Hewson) Date: Fri, 4 May 2007 10:42:25 -0500 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001d01c78e60$cf301d30$657aa8c0@m6805> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 john at winhaven.net Fri May 4 10:45:36 2007 From: john at winhaven.net (John Bartow) Date: Fri, 4 May 2007 10:45:36 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <001b01c78e5f$eb11d440$657aa8c0@m6805> References: <001b01c78e5f$eb11d440$657aa8c0@m6805> Message-ID: <011a01c78e63$42a9cfc0$6402a8c0@ScuzzPaq> I should've mentioned that reason I do it in PowerPoint is to hold functions that I then assign to toolbar icons. Presentations can then be processed for consistency of layout, add footers to slides based on which section of the presentation they belong to, process slides to be colored on printouts or not, etc with the click a an icon. Next step is to integrate access data directly into a PowerPoint template at various points. It will definitely stretch my brain. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook That is indeed an interesting tidbit. So far I have not done any work directly in the other office applications. I have saved code in modules in Excel, but I have only ever used it by calling it by automation. It is probably useless info to me but if I ever do just have to do work in the other apps it will be good to know. From jwcolby at colbyconsulting.com Fri May 4 10:50:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:50:32 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> References: <001d01c78e60$cf301d30$657aa8c0@m6805> <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> Message-ID: <002501c78e63$f2c2d5f0$657aa8c0@m6805> #3 Sitting back in my office chair, by son's bottle of bubble stuff in one hand, bubble wand in the other, blowing streams of bubbles into the air, waiting with wild anticipation for Charlotte to say anything at all that I can poke a stick at her for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Friday, May 04, 2007 11:42 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 11:04:58 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 12:04:58 -0400 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: <0JHB006MNTMD9X70@l-daemon><006b01c78b68$04a684f0$657aa8c0@m6805><007501c78b6f$8bb4a150$657aa8c0@m6805> <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <002601c78e65$f6fbd9d0$657aa8c0@m6805> What kind of records are you pulling, how many, and what is the response time. I did it with a class that has a collection of child classes. Each child class holds one point. The parent class iterates the collection of child classes comparing every child class to one specific selected child class. The company I did it for wants a "circle around a business". The calculation to find the distance is obtuse and uses a lot of math (radians, sin, cos etc) but I didn't write it, I just found it. If you wish I will send you a zip with the application. It is a table of about 70K zip codes, a couple of queries to narrow down the zips (exclude any with no lat/long) to about 42K unique zips, a form and a couple of classes to implement the logic. I pared the unused data fields out and the resultant database is about 6.7 mb unzipped, 2.25 zipped. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Borge Hansen Sent: Friday, May 04, 2007 11:19 AM To: Access Developers discussion and problem solving Subject: [AccessD] code to find the population within a radius of a zip code >John Colby wrote: >I converted the code to find the population within a radius of a zip code. Hi John, What does your VBA code look like? I am using a code that will find a subset of records based on their geocode within a near enough square, ...and querying the recordset like this ....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is between "most western Long" and "most eastern Long" Interested to see your code based on a circle construct..... Regards borge -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 4 11:14:26 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:14:26 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: The first rule is "Never believe 'never'". When I hear that word, I automatically assume the change will come sooner, not later. I always normalize this kind of data because it makes it so much easier in the long run...or in the short run if the change comes next week. Let's see, I've heard things like: The account code will never be longer than 8 characters (oops, we changed accounting programs...) We'll never need more than two addresses We'll never need a field - we don't capture that information A company will never have more than one contact name A contact will never have more than one email address/phone number/mailing address/street address ... Get the picture? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 7:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 4 11:16:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:16:42 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001d01c78e60$cf301d30$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> <001d01c78e60$cf301d30$657aa8c0@m6805> Message-ID: Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 8:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Fri May 4 11:17:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:17:54 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <002501c78e63$f2c2d5f0$657aa8c0@m6805> References: <001d01c78e60$cf301d30$657aa8c0@m6805><9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> <002501c78e63$f2c2d5f0$657aa8c0@m6805> Message-ID: John, You know you don't need an excuse, you just like to argue! LOL Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 8:51 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table #3 Sitting back in my office chair, by son's bottle of bubble stuff in one hand, bubble wand in the other, blowing streams of bubbles into the air, waiting with wild anticipation for Charlotte to say anything at all that I can poke a stick at her for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Friday, May 04, 2007 11:42 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 11:21:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 12:21:25 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: <002701c78e68$43a2bc70$657aa8c0@m6805> C'mon Charlotte, give me something to poke at. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 04, 2007 12:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table The first rule is "Never believe 'never'". When I hear that word, I automatically assume the change will come sooner, not later. I always normalize this kind of data because it makes it so much easier in the long run...or in the short run if the change comes next week. Let's see, I've heard things like: The account code will never be longer than 8 characters (oops, we changed accounting programs...) We'll never need more than two addresses We'll never need a field - we don't capture that information A company will never have more than one contact name A contact will never have more than one email address/phone number/mailing address/street address ... Get the picture? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 7:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Fri May 4 12:59:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 04 May 2007 10:59:51 -0700 Subject: [AccessD] OT Friday In-Reply-To: Message-ID: <0JHJ00897354UEF0@l-daemon> OT Hi All: In celebration for OT Friday here is a link to an interesting product: http://www.sphinxsearch.com/ It works with MySQL and I assume a number of other DBs. My son in-law heard about this product last Monday, Installed it on his companies development servers Wednesday and the owner was delighted. So it obviously works very well. Here is something quite different. A truly stunning picture: http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=17524 Have a good day. Jim From accessd at shaw.ca Fri May 4 12:59:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 04 May 2007 10:59:51 -0700 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042306.05056.bbruen@unwired.com.au> Message-ID: <0JHJ00892351UEF0@l-daemon> Brilliant... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bruce Bruen Sent: Friday, May 04, 2007 6:06 AM To: Access Developers discussion and problem solving; Vince Daloia Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter of the year On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rl_stewart at highstream.net Fri May 4 13:27:02 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 04 May 2007 13:27:02 -0500 Subject: [AccessD] Friday, and rather long. Complaint letter In-Reply-To: References: Message-ID: <200705041830.l44IUFSf014740@databaseadvisors.com> Comcast, no, it has to be AT&T. :-) At 10:24 AM 5/4/2007, you wrote: >Date: Fri, 4 May 2007 09:25:31 -0400 >From: "Keith Williamson" >Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter > of the year >To: "Access Developers discussion and problem solving" > >Message-ID: > >Content-Type: text/plain; charset="US-ASCII" > >OMG!!! Too damn funny. I didn't know that Comcast was in the UK. From cfoust at infostatsystems.com Fri May 4 13:32:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 11:32:17 -0700 Subject: [AccessD] Friday, and rather long. Complaint letter In-Reply-To: <200705041830.l44IUFSf014740@databaseadvisors.com> References: <200705041830.l44IUFSf014740@databaseadvisors.com> Message-ID: I've heard the same horror stories about Verizon too. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 04, 2007 11:27 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Friday, and rather long. Complaint letter Comcast, no, it has to be AT&T. :-) At 10:24 AM 5/4/2007, you wrote: >Date: Fri, 4 May 2007 09:25:31 -0400 >From: "Keith Williamson" >Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter > of the year >To: "Access Developers discussion and problem solving" > >Message-ID: > >Content-Type: text/plain; charset="US-ASCII" > >OMG!!! Too damn funny. I didn't know that Comcast was in the UK. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Patricia.O'Connor at otda.state.ny.us Fri May 4 14:38:54 2007 From: Patricia.O'Connor at otda.state.ny.us (O'Connor, Patricia (OTDA)) Date: Fri, 4 May 2007 15:38:54 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <463A2FB4.1050108@gmail.com> References: <463A2FB4.1050108@gmail.com> Message-ID: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE30@EXCNYSM0A1AI.nysemail.nyenet> Thank you all for your information ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. From markamatte at hotmail.com Fri May 4 14:42:34 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 19:42:34 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: JC, Is there a conference at your place scheduled? Thanks, Mark >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: [AccessD] Conference Dates >Date: Thu, 03 May 2007 18:21:35 +0000 > >Have we set dates for the conference? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Need a break? Find your escape route with Live Search Maps. >http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From jwcolby at colbyconsulting.com Fri May 4 15:11:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:11:26 -0400 Subject: [AccessD] Conference Dates In-Reply-To: References: Message-ID: <004b01c78e88$65375510$657aa8c0@m6805> There isn't but let's schedule one. The first person to pick a date gets to have it on a date convenient to him / her. Not the first two weeks of July 'cause I'm on vacation those two weeks. Blowin bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 04, 2007 3:43 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Conference Dates JC, Is there a conference at your place scheduled? Thanks, Mark From fuller.artful at gmail.com Fri May 4 15:16:23 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 4 May 2007 16:16:23 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <004b01c78e88$65375510$657aa8c0@m6805> References: <004b01c78e88$65375510$657aa8c0@m6805> Message-ID: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date gets > to > have it on a date convenient to him / her. Not the first two weeks of > July > 'cause I'm on vacation those two weeks. Blowin bubbles. > From Elizabeth.J.Doering at wellsfargo.com Fri May 4 15:17:06 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 15:17:06 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Most of your gloomy prognostications have come true already this afternoon--they 'discovered' that there are really 8 groups! Fortunately without malice. Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Kwilliamson at RTKL.com Fri May 4 15:23:11 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 16:23:11 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> References: <004b01c78e88$65375510$657aa8c0@m6805> <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> Message-ID: STTTTOOOOOPPPP!!!!!!!! Now I have to clean Diet Coke off my screen!!! Too funny! Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Friday, May 04, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Conference Dates My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date gets > to > have it on a date convenient to him / her. Not the first two weeks of > July > 'cause I'm on vacation those two weeks. Blowin bubbles. > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From fuller.artful at gmail.com Fri May 4 15:24:14 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 4 May 2007 16:24:14 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> <000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Message-ID: <29f585dd0705041324s76c4e654ie624c688723c14d5@mail.gmail.com> Those were the optimistic prognostications, Liz. The gloomy ones are much uglier. Arthur On 5/4/07, Elizabeth.J.Doering at wellsfargo.com < Elizabeth.J.Doering at wellsfargo.com> wrote: > > > Most of your gloomy prognostications have come true already this > afternoon--they 'discovered' that there are really 8 groups! > Fortunately without malice. > > > Thanks, > > From jwcolby at colbyconsulting.com Fri May 4 15:26:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:26:04 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> References: <004b01c78e88$65375510$657aa8c0@m6805> <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> Message-ID: <004c01c78e8a$70b1a5b0$657aa8c0@m6805> ROTFL. My wife is picking up her email on my computer now (hers is in the shop) so I can't even go there. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Friday, May 04, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Conference Dates My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date > gets to have it on a date convenient to him / her. Not the first two > weeks of July 'cause I'm on vacation those two weeks. Blowin bubbles. > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Fri May 4 15:27:04 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 20:27:04 +0000 Subject: [AccessD] Conference Dates Message-ID: I could pick...but I really want it convenient for as many people as possible. Since I'm only 1.5 hours away...almost any dates are good for me. With that being said...June 23 weekend? Thanks, Mark A. Matte >From: "JWColby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Conference Dates >Date: Fri, 4 May 2007 16:11:26 -0400 > >There isn't but let's schedule one. The first person to pick a date gets >to >have it on a date convenient to him / her. Not the first two weeks of July >'cause I'm on vacation those two weeks. Blowin bubbles. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 04, 2007 3:43 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Conference Dates > >JC, > >Is there a conference at your place scheduled? > >Thanks, > >Mark > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more.? Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From jwcolby at colbyconsulting.com Fri May 4 15:27:31 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:27:31 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Message-ID: <004d01c78e8a$a4b7abc0$657aa8c0@m6805> LOL, aren't you glad I warned you? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 4:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table Most of your gloomy prognostications have come true already this afternoon--they 'discovered' that there are really 8 groups! Fortunately without malice. Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Fri May 4 15:35:38 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 04 May 2007 13:35:38 -0700 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: <0JHB006MNTMD9X70@l-daemon> <006b01c78b68$04a684f0$657aa8c0@m6805> <007501c78b6f$8bb4a150$657aa8c0@m6805> <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <463B991A.8020600@shaw.ca> I would like to see code too. There are many possible errors. How accurate do you want to be. Third order surveying accuarcy? Generally lat/long with 3 decimal places accuracy gives you 100 metre error lat/long with 4 decimal places gives 10 metre error Other errors. The shape of the Earth more closely resembles a flattened spheroid with extreme values for the radius of curvature, or arcradius, of 6335.437 km at the equator (vertically) and 6399.592 km at the poles and having an average great-circle radius of 6372.795 km (3438.461 nautical miles). Using a sphere with a radius of 6372.795 km thus results in a probable error of up to about 0.5%. Examples: This is a circle on the surface of the planet. At larger radii, the effects of the Mercator projection become clearly visible. Try a 2000 mile radius and move mouse to see if point within a circle or is it an egg? http://maps.forum.nu/gm_sensitive_circle2.html This circle is actually tangent to the surface of the Earth, but for small radii this is of little significance. http://maps.forum.nu/gm_clickable_circle.html Borge Hansen wrote: >>John Colby wrote: >>I converted the code to find the population within a radius of a zip code. >> >> > >Hi John, >What does your VBA code look like? > >I am using a code that will find a subset of records based on their geocode within a near enough square, > >...and querying the recordset like this > >....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is >between "most western Long" and "most eastern Long" > >Interested to see your code based on a circle construct..... > >Regards >borge > > > -- Marty Connelly Victoria, B.C. Canada From DWUTKA at Marlow.com Fri May 4 15:39:31 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Fri, 4 May 2007 15:39:31 -0500 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: Stick to the right way. You are dealing with a many to many situation. There really isn't a lazy way, because putting a checkbox field in for group identification would be the un-normalized way. By having the fields as yes/no, you make things harder in many situations. For example, what if they want a list of groups on a form. With check boxes, you'll be making that list manually. Etc, etc. Not too mention, NEVER trust the users/owners. Everyone lies (just listen to House). Always develop to have as much wiggle room as possible. ;) Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 9:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From shamil at users.mns.ru Fri May 4 16:37:14 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 5 May 2007 01:37:14 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a Junction Table Message-ID: <000001c78e94$66ae2020$6401a8c0@nant> Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From stuart at lexacorp.com.pg Fri May 4 17:38:59 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 05 May 2007 08:38:59 +1000 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: , <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <463BB603.9343.4D8E5818@stuart.lexacorp.com.pg> On 5 May 2007 at 1:19, Borge Hansen wrote: > I am using a code that will find a subset of records based on their geocode > within a near enough square, > > ...and querying the recordset like this > > ....find me all record instances where Lat of record is between > "northernmost Lat" and "southernmost Lat" and Long of record is between > "most western Long" and "most eastern Long" > > Interested to see your code based on a circle construct..... Try this for size: Function arcsin(X As Double) As Double arcsin = Atn(X / Sqr(-X * X + 1)) End Function Function KmDistance(Lat1 As Double, Lon1 As Double, Lat2 As Double, Lon2 As Double) As Double Lat1 = Lat1 * 0.01745329252 'Convert Degrees to Radians Lon1 = Lon1 * 0.01745329252 Lat2 = Lat2 * 0.01745329252 Lon2 = Lon2 * 0.01745329252 KmDistance = arcsin(Sqr(Sin((Lat1 - Lat2) / 2) ^ 2 + Cos(Lat1) * Cos(Lat2) * Sin((Lon1 - Lon2) / 2) ^ 2)) * 12733.414 End Function Static Function LatStore(Optional Lat as Double = 999) as Double Dim Store as Double If Lat <> 999 then Store = Lat LatStore = Store End Function Static Function LonStore(Optional Lon as Double = 999) as Double Dim Store as Double If Lon <> 999 then Store = Lon LonStore = Store End Function Find all locations within 500km of My House: LatStore DLookup("Lat","TblLocations","Loc Name = 'My House") LonStore DLookup("Lon","TblLocations","Loc Name = 'My House") Select * from tblLocations where KMDistance(Lat,Lon,LatStore(),LonStore()) < 500 -- Stuart From max.wanadoo at gmail.com Sat May 5 01:22:10 2007 From: max.wanadoo at gmail.com (Max Wanadoo) Date: Sat, 5 May 2007 07:22:10 +0100 Subject: [AccessD] Access KeyCodes In-Reply-To: References: Message-ID: Dear All, Many thanks for your suggestions. Andrew Curtis' suggestion worked a dream. After turning the forms ONPREVIEW on, I was then able to capture the KEYCODE and eliminate 240 lines of unnecessary code. Thanks Andrew. Regards Max On 5/4/07, Curtis, Andrew (WAPL) wrote: > > > How about using the form's keydown event, write the keycode to a hidden > control on the form (hdenKeyCode) when a key is pressed anywhere on the > form, then use the onUpdate of the hdenKeyCode control to trigger your > pfKeyPress(Keycode) function using pfKeyPress(forms!myform!hdenKeyCode)? > I know its Friday here, give me a break :) > > > --andrew > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo > Sent: Friday, 4 May 2007 3:25 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] Access KeyCodes > > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event > Procedures I get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the key pressed by user End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested > in, eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace > the ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > This message and any attached files may contain information that is > confidential and/or subject of legal privilege intended only for use by the > intended recipient. If you are not the intended recipient or the person > responsible for delivering the message to the intended recipient, be advised > that you have received this message in error and that any dissemination, > copying or use of this message or attachment is strictly forbidden, as is > the disclosure of the information therein. If you have received this message > in error please notify the sender immediately and delete the message. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Sat May 5 05:54:17 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sat, 5 May 2007 06:54:17 -0400 Subject: [AccessD] code to find the population within a radius of a zipcode References: <0JHB006MNTMD9X70@l-daemon> <006b01c78b68$04a684f0$657aa8c0@m6805><007501c78b6f$8bb4a150$657aa8c0@m6805><009b01c78e5f$9582e7d0$fa10a8c0@Albatross> <463B991A.8020600@shaw.ca> Message-ID: <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> ...when you are using zip based lat-longs to calculate radius, the concept of "accuracy" is about as relevant as nasal drip regardless of which algorithms you use ...a zip based lat-long is the geo center of the zip code's mapped area ...since zip areas are highly irregular the given geo center may well be physically outside the zip's actual boundaries ...and then there is the problem of zip area geographical size which is most often based upon demographics ...ergo, the size of an Alaskan zip code can be several hundred miles in extent while that of a Manhattan zip may be resolved to a few floors in a single office tower ...thus search results for zips within a fifty mile radius of a given zip's lat-long should be considered with the same levity reserved for JC's stick poking efforts ...the calculation of the number of bubbles per poke being about as accurate. William Hindman ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 4:35 PM Subject: Re: [AccessD] code to find the population within a radius of a zipcode >I would like to see code too. There are many possible errors. > > How accurate do you want to be. Third order surveying accuarcy? > Generally > lat/long with 3 decimal places accuracy gives you 100 metre error > lat/long with 4 decimal places gives 10 metre error > > Other errors. > > The shape of the Earth more closely resembles a flattened spheroid > with extreme values for the radius of curvature, or arcradius, of > 6335.437 km > at the equator (vertically) and 6399.592 km at the poles > and having an average great-circle radius of 6372.795 km (3438.461 > nautical miles). > > Using a sphere with a radius of 6372.795 km thus results in > a probable error of up to about 0.5%. > > Examples: > > This is a circle on the surface of the planet. At larger radii, > the effects of the Mercator projection become clearly visible. > Try a 2000 mile radius and move mouse to see if point within a circle > or is it an egg? > > http://maps.forum.nu/gm_sensitive_circle2.html > > This circle is actually tangent to the surface of the Earth, > but for small radii this is of little significance. > > http://maps.forum.nu/gm_clickable_circle.html > > > > Borge Hansen wrote: > >>>John Colby wrote: >>>I converted the code to find the population within a radius of a zip >>>code. >>> >>> >> >>Hi John, >>What does your VBA code look like? >> >>I am using a code that will find a subset of records based on their >>geocode within a near enough square, >> >>...and querying the recordset like this >> >>....find me all record instances where Lat of record is between >>"northernmost Lat" and "southernmost Lat" and Long of record is >>between "most western Long" and "most eastern Long" >> >>Interested to see your code based on a circle construct..... >> >>Regards >>borge >> >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > 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 May 5 06:46:00 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 05 May 2007 21:46:00 +1000 Subject: [AccessD] code to find the population within a radius of a zipcode In-Reply-To: <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> References: , <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> Message-ID: <463C6E78.22786.505EE15F@stuart.lexacorp.com.pg> A nice tool if you want to build your own database of lat/long of towns/cities is Geomaker: GeoMaker - Create the GeoDatabase for the entire world. This program create the geographical location Latitude, Longitude, and Altitude (Elevation) for every city, village, region, state, county in the World. The program crawls the data from the website www.heavens-above.com which collect data from US Geological Survey for the USA (and dependencies) and The National Imaging and Mapping Agency for all other countries. The program is available as .exe and the source code in Visual Basic 6 http://geomaker.mewsoft.qarchive.org/ Note that it takes a looong time to grab all the locations in a country :-( It grabbed 22,000 records for PNG. After I dumped them into an Acess table and de-duped the names, I ended up with over 9000 locations - many of them small villages/hamlets including 27 localities/suburbs within the National Capital District. On 5 May 2007 at 6:54, William Hindman wrote: > ...when you are using zip based lat-longs to calculate radius, the concept > of "accuracy" is about as relevant as nasal drip regardless of which > algorithms you use ...a zip based lat-long is the geo center of the zip > code's mapped area ...since zip areas are highly irregular the given geo > center may well be physically outside the zip's actual boundaries ...and > then there is the problem of zip area geographical size which is most often > based upon demographics ...ergo, the size of an Alaskan zip code can be > several hundred miles in extent while that of a Manhattan zip may be > resolved to a few floors in a single office tower ...thus search results for > zips within a fifty mile radius of a given zip's lat-long should be > considered with the same levity reserved for JC's stick poking efforts > ...the calculation of the number of bubbles per poke being about as > accurate. > > William Hindman > > ----- Original Message ----- > From: "MartyConnelly" > To: "Access Developers discussion and problem solving" > > Sent: Friday, May 04, 2007 4:35 PM > Subject: Re: [AccessD] code to find the population within a radius of a > zipcode > > > >I would like to see code too. There are many possible errors. > > > > How accurate do you want to be. Third order surveying accuarcy? > > Generally > > lat/long with 3 decimal places accuracy gives you 100 metre error > > lat/long with 4 decimal places gives 10 metre error > > > > Other errors. > > > > The shape of the Earth more closely resembles a flattened spheroid > > with extreme values for the radius of curvature, or arcradius, of > > 6335.437 km > > at the equator (vertically) and 6399.592 km at the poles > > and having an average great-circle radius of 6372.795 km (3438.461 > > nautical miles). > > > > Using a sphere with a radius of 6372.795 km thus results in > > a probable error of up to about 0.5%. > > > > Examples: > > > > This is a circle on the surface of the planet. At larger radii, > > the effects of the Mercator projection become clearly visible. > > Try a 2000 mile radius and move mouse to see if point within a circle or > > is it an egg? > > > > http://maps.forum.nu/gm_sensitive_circle2.html > > > > This circle is actually tangent to the surface of the Earth, > > but for small radii this is of little significance. > > > > http://maps.forum.nu/gm_clickable_circle.html > > > > > > > > Borge Hansen wrote: > > > >>>John Colby wrote: > >>>I converted the code to find the population within a radius of a zip > >>>code. > >>> > >>> > >> > >>Hi John, > >>What does your VBA code look like? > >> > >>I am using a code that will find a subset of records based on their > >>geocode within a near enough square, > >> > >>...and querying the recordset like this > >> > >>....find me all record instances where Lat of record is between > >>"northernmost Lat" and "southernmost Lat" and Long of record is > >>between "most western Long" and "most eastern Long" > >> > >>Interested to see your code based on a circle construct..... > >> > >>Regards > >>borge > >> > >> > >> > > > > -- > > Marty Connelly > > Victoria, B.C. > > Canada > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From bbruen at unwired.com.au Sat May 5 07:05:56 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Sat, 5 May 2007 22:05:56 +1000 Subject: [AccessD] python - getting started Message-ID: <200705052205.57517.bbruen@unwired.com.au> hi all, someone mentioned python a few minutes ago, ?arthur? whoever it was, have they got a link for a decent howto or getting started? I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data has already been ported to postgresql and after some hysteria is now ANSI compliant. The FE exists in access and has been partially ported to C#, but I'm not really happy with the C# implementation. The data abstraction is a PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat slack from a perception basis (i.e. perceptively slower than access-postgres and bordering on infuriatingly slower than access FE/BE architecture) and the IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned elsewhere they all want to / support direct data binding. I have read some (i.e. 1-2%) of the available info on python and it looks pretty rich, but is there something between HelloWorld and pyQt? -- regards Bruce From fuller.artful at gmail.com Sat May 5 08:02:41 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 5 May 2007 09:02:41 -0400 Subject: [AccessD] python - getting started In-Reply-To: <200705052205.57517.bbruen@unwired.com.au> References: <200705052205.57517.bbruen@unwired.com.au> Message-ID: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> Guilty, your honour. There's a version of Python that runs on .NET, but before suggesting that you go there, the first thing I would do in your place is satisfy yourself that it's not PostGres that is responsible for your performance problems. What happens performance-wise if you create an Access FE and an ODBC link and do direct queries against the database? How is performance there? Arthur On 5/5/07, Bruce Bruen wrote: > > hi all, > someone mentioned python a few minutes ago, ?arthur? > > whoever it was, have they got a link for a decent howto or getting > started? > > I'm looking to port an A2K3 to (ahem) a more "significant" platform. The > data > has already been ported to postgresql and after some hysteria is now ANSI > compliant. The FE exists in access and has been partially ported to C#, > but > I'm not really happy with the C# implementation. The data abstraction is > a > PITA (waiting hopefully on Charlottes tutorial), the performance is > somewhat > slack from a perception basis (i.e. perceptively slower than > access-postgres > and bordering on infuriatingly slower than access FE/BE architecture) and > the > IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned > elsewhere they all want to / support direct data binding. > > I have read some (i.e. 1-2%) of the available info on python and it looks > pretty rich, but is there something between HelloWorld and pyQt? > > -- > regards > > Bruce > From wdhindman at dejpolsystems.com Sat May 5 08:05:03 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sat, 5 May 2007 09:05:03 -0400 Subject: [AccessD] code to find the population within a radius of azipcode References: , <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> <463C6E78.22786.505EE15F@stuart.lexacorp.com.pg> Message-ID: <000501c78f15$ffba40b0$7d7d6c4c@jisshowsbs.local> ...good link Stu ...I can put that to immediate use with a current client ...thanks. William Hindman ----- Original Message ----- From: "Stuart McLachlan" To: "Access Developers discussion and problem solving" Sent: Saturday, May 05, 2007 7:46 AM Subject: Re: [AccessD] code to find the population within a radius of azipcode >A nice tool if you want to build your own database of lat/long of > towns/cities is Geomaker: > GeoMaker - Create the GeoDatabase for the entire world. This program > create > the geographical location Latitude, Longitude, and Altitude (Elevation) > for > every city, village, region, state, county in the World. The program > crawls > the data from the website www.heavens-above.com which collect data from US > Geological Survey for the USA (and dependencies) and The National Imaging > and Mapping Agency for all other countries. The program is available as > .exe and the source code in Visual Basic 6 > > http://geomaker.mewsoft.qarchive.org/ > > Note that it takes a looong time to grab all the locations in a country > :-( > > It grabbed 22,000 records for PNG. After I dumped them into an Acess table > and de-duped the names, I ended up with over 9000 locations - many of > them > small villages/hamlets including 27 localities/suburbs within the National > Capital District. > > > On 5 May 2007 at 6:54, William Hindman wrote: > >> ...when you are using zip based lat-longs to calculate radius, the >> concept >> of "accuracy" is about as relevant as nasal drip regardless of which >> algorithms you use ...a zip based lat-long is the geo center of the zip >> code's mapped area ...since zip areas are highly irregular the given geo >> center may well be physically outside the zip's actual boundaries ...and >> then there is the problem of zip area geographical size which is most >> often >> based upon demographics ...ergo, the size of an Alaskan zip code can be >> several hundred miles in extent while that of a Manhattan zip may be >> resolved to a few floors in a single office tower ...thus search results >> for >> zips within a fifty mile radius of a given zip's lat-long should be >> considered with the same levity reserved for JC's stick poking efforts >> ...the calculation of the number of bubbles per poke being about as >> accurate. >> >> William Hindman >> >> ----- Original Message ----- >> From: "MartyConnelly" >> To: "Access Developers discussion and problem solving" >> >> Sent: Friday, May 04, 2007 4:35 PM >> Subject: Re: [AccessD] code to find the population within a radius of a >> zipcode >> >> >> >I would like to see code too. There are many possible errors. >> > >> > How accurate do you want to be. Third order surveying accuarcy? >> > Generally >> > lat/long with 3 decimal places accuracy gives you 100 metre error >> > lat/long with 4 decimal places gives 10 metre error >> > >> > Other errors. >> > >> > The shape of the Earth more closely resembles a flattened spheroid >> > with extreme values for the radius of curvature, or arcradius, of >> > 6335.437 km >> > at the equator (vertically) and 6399.592 km at the poles >> > and having an average great-circle radius of 6372.795 km (3438.461 >> > nautical miles). >> > >> > Using a sphere with a radius of 6372.795 km thus results in >> > a probable error of up to about 0.5%. >> > >> > Examples: >> > >> > This is a circle on the surface of the planet. At larger radii, >> > the effects of the Mercator projection become clearly visible. >> > Try a 2000 mile radius and move mouse to see if point within a circle >> > or >> > is it an egg? >> > >> > http://maps.forum.nu/gm_sensitive_circle2.html >> > >> > This circle is actually tangent to the surface of the Earth, >> > but for small radii this is of little significance. >> > >> > http://maps.forum.nu/gm_clickable_circle.html >> > >> > >> > >> > Borge Hansen wrote: >> > >> >>>John Colby wrote: >> >>>I converted the code to find the population within a radius of a zip >> >>>code. >> >>> >> >>> >> >> >> >>Hi John, >> >>What does your VBA code look like? >> >> >> >>I am using a code that will find a subset of records based on their >> >>geocode within a near enough square, >> >> >> >>...and querying the recordset like this >> >> >> >>....find me all record instances where Lat of record is between >> >>"northernmost Lat" and "southernmost Lat" and Long of record is >> >>between "most western Long" and "most eastern Long" >> >> >> >>Interested to see your code based on a circle construct..... >> >> >> >>Regards >> >>borge >> >> >> >> >> >> >> > >> > -- >> > Marty Connelly >> > Victoria, B.C. >> > Canada >> > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/accessd >> > Website: http://www.databaseadvisors.com >> > >> >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com > > -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From kismert at gmail.com Sat May 5 10:10:37 2007 From: kismert at gmail.com (Ken Ismert) Date: Sat, 05 May 2007 10:10:37 -0500 Subject: [AccessD] python - getting started In-Reply-To: References: Message-ID: <463C9E6D.9050804@gmail.com> Bruce, One of the quickest ways to jump-start learning a new language is to attend a Meetup group. Right now, there are none in Australia, but there are a number of people interested in most of the major cities. See http://python.meetup.com/about/ If it is feasible for you, and you're interested, starting a Meetup group could be a good way to help yourself and others learn Python. There is nothing like asking questions of real people to get quick, solid starting information. Plus, you can have a few beers while doing it :-) Here are some good web resources: Dive Into Python http://diveintopython.org/ A Byte of Python http://swaroopch.info/text/Byte_of_Python:Main_Page -Ken >> >> ------------------------------------------------------------------------ >> >> Subject: >> [AccessD] python - getting started >> From: >> Bruce Bruen >> Date: >> Sat, 5 May 2007 22:05:56 +1000 >> >> >> hi all, >> someone mentioned python a few minutes ago, ?arthur? >> >> whoever it was, have they got a link for a decent howto or getting started? >> >> I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data >> has already been ported to postgresql and after some hysteria is now ANSI >> compliant. The FE exists in access and has been partially ported to C#, but >> I'm not really happy with the C# implementation. The data abstraction is a >> PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat >> slack from a perception basis (i.e. perceptively slower than access-postgres >> and bordering on infuriatingly slower than access FE/BE architecture) and the >> IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned >> elsewhere they all want to / support direct data binding. >> >> I have read some (i.e. 1-2%) of the available info on python and it looks >> pretty rich, but is there something between HelloWorld and pyQt? >> From accessd at shaw.ca Sat May 5 17:37:12 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 05 May 2007 15:37:12 -0700 Subject: [AccessD] python - getting started In-Reply-To: <463C9E6D.9050804@gmail.com> Message-ID: <0JHL00BGRAN5QEC0@l-daemon> In addition, I understand that our own Bryan Carbonnell is a bit of expert... our mail server was built in Python. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Saturday, May 05, 2007 8:11 AM To: accessd at databaseadvisors.com Subject: [AccessD] python - getting started Bruce, One of the quickest ways to jump-start learning a new language is to attend a Meetup group. Right now, there are none in Australia, but there are a number of people interested in most of the major cities. See http://python.meetup.com/about/ If it is feasible for you, and you're interested, starting a Meetup group could be a good way to help yourself and others learn Python. There is nothing like asking questions of real people to get quick, solid starting information. Plus, you can have a few beers while doing it :-) Here are some good web resources: Dive Into Python http://diveintopython.org/ A Byte of Python http://swaroopch.info/text/Byte_of_Python:Main_Page -Ken >> >> ------------------------------------------------------------------------ >> >> Subject: >> [AccessD] python - getting started >> From: >> Bruce Bruen >> Date: >> Sat, 5 May 2007 22:05:56 +1000 >> >> >> hi all, >> someone mentioned python a few minutes ago, ?arthur? >> >> whoever it was, have they got a link for a decent howto or getting started? >> >> I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data >> has already been ported to postgresql and after some hysteria is now ANSI >> compliant. The FE exists in access and has been partially ported to C#, but >> I'm not really happy with the C# implementation. The data abstraction is a >> PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat >> slack from a perception basis (i.e. perceptively slower than access-postgres >> and bordering on infuriatingly slower than access FE/BE architecture) and the >> IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned >> elsewhere they all want to / support direct data binding. >> >> I have read some (i.e. 1-2%) of the available info on python and it looks >> pretty rich, but is there something between HelloWorld and pyQt? >> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Sat May 5 17:37:12 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 05 May 2007 15:37:12 -0700 Subject: [AccessD] python - getting started In-Reply-To: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> Message-ID: <0JHL00BGTAN6QEC0@l-daemon> On that note; I have been told that running an Access FE to Postgres using pass-through through queries is painful... It was further suggested that all database SQL should be run through PGs' SPs. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 05, 2007 6:03 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] python - getting started Guilty, your honour. There's a version of Python that runs on .NET, but before suggesting that you go there, the first thing I would do in your place is satisfy yourself that it's not PostGres that is responsible for your performance problems. What happens performance-wise if you create an Access FE and an ODBC link and do direct queries against the database? How is performance there? Arthur On 5/5/07, Bruce Bruen wrote: > > hi all, > someone mentioned python a few minutes ago, ?arthur? > > whoever it was, have they got a link for a decent howto or getting > started? > > I'm looking to port an A2K3 to (ahem) a more "significant" platform. The > data > has already been ported to postgresql and after some hysteria is now ANSI > compliant. The FE exists in access and has been partially ported to C#, > but > I'm not really happy with the C# implementation. The data abstraction is > a > PITA (waiting hopefully on Charlottes tutorial), the performance is > somewhat > slack from a perception basis (i.e. perceptively slower than > access-postgres > and bordering on infuriatingly slower than access FE/BE architecture) and > the > IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned > elsewhere they all want to / support direct data binding. > > I have read some (i.e. 1-2%) of the available info on python and it looks > pretty rich, but is there something between HelloWorld and pyQt? > > -- > regards > > Bruce > -- 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 May 5 17:58:59 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 5 May 2007 18:58:59 -0400 Subject: [AccessD] python - getting started In-Reply-To: <0JHL00BGTAN6QEC0@l-daemon> References: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> <0JHL00BGTAN6QEC0@l-daemon> Message-ID: <29f585dd0705051558k60ac7051v75925ff98a8d62cc@mail.gmail.com> Yeah, that was kind of my point, which was to isolate the PostGres performance from all the additional layers. If we get to a place where the PostGres performance, as measured from a direct query from the command line, say, then we can realistically judge and rank the interfaces to the database. A. On 5/5/07, Jim Lawrence wrote: > > On that note; I have been told that running an Access FE to Postgres using > pass-through through queries is painful... It was further suggested that > all > database SQL should be run through PGs' SPs. > > Jim > From carbonnb at gmail.com Sat May 5 18:40:55 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sat, 5 May 2007 19:40:55 -0400 Subject: [AccessD] python - getting started In-Reply-To: <0JHL00BGRAN5QEC0@l-daemon> References: <463C9E6D.9050804@gmail.com> <0JHL00BGRAN5QEC0@l-daemon> Message-ID: On 5/5/07, Jim Lawrence wrote: > In addition, I understand that our own Bryan Carbonnell is a bit of > expert... our mail server was built in Python. Expert. ROTFLMAO. Hack, sure. Expert. Not even close. But I used the tutorial from Python's webiste, http://docs.python.org/tut/tut.html to learn how to write Python code. -- 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 gustav at cactus.dk Sun May 6 01:19:38 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 06 May 2007 08:19:38 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a Junction Table Message-ID: Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav >>> shamil at users.mns.ru 04-05-07 23:37 >>> Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From shamil at users.mns.ru Sun May 6 05:07:53 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sun, 6 May 2007 14:07:53 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: Message-ID: <000001c78fc6$69640e50$6401a8c0@nant> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> From Gustav at cactus.dk Mon May 7 05:17:02 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 07 May 2007 12:17:02 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Message-ID: Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav From Gustav at cactus.dk Mon May 7 07:08:32 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 07 May 2007 14:08:32 +0200 Subject: [AccessD] Migrating Access applications to Oracle APEX Message-ID: Hi all Should you feel tempted to migrate your Access application to Oracle Application Express, a migration tool is available: http://www.oracle.com/technology/products/database/application_express/migrations/mig_index.html My guess is that only very simple apps can be handled. /gustav From jwcolby at colbyconsulting.com Mon May 7 09:05:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Mon, 7 May 2007 10:05:54 -0400 Subject: [AccessD] Thanks for the help Message-ID: <001a01c790b0$d43b04f0$657aa8c0@m6805> I am making great progress on understanding how to create stored procedures and getting them functioning. The piece I am still missing for my particular application is how to get them to run from Access. As you probably know by now I am trying to do batch processing of data import / export. Last week I was working on getting a 100 million record data import happening, where the data came in from 56 different files of various size, one or more files per state, depending on the population of the state. I got a stored procedure built and, using a Bulk Insert SQL statement was able to up my import from a previous high less than 500 records / second to up above 12K records / second on average. What an improvement that has been! Again a million thanks to all those who so patiently talked me through this stuff. In the end I simply opened a query window inside of SQL Server, and keyed in the name of the stored procedure and a file name, manually recorded the time it took SQL Server to perform the insert, modified the filename and did the next etc. 56 times and I was done. Not efficient but with the import times so radically improved at least I could get it done. My next step has to be getting such a stored procedure functioning when run from Access. ATM my application that does the data transformation from fixed width to csv is the driver for this entire process, and ATM it is written in Access / VBA. Remember that these stored procedures simply do a BULK INSERT, passing in a file name. therefore these stored procedures do not yet return a recordset (or even a value), but I really do need to get them to return a value eventually. My strategy is to "baby step" this thing so that I can sort out where the inevitable problem lies and get it functioning one step at a time. So my next step is simply to get the stored procedure executing when called from VBA. If anyone has code that they are willing to share that executes a stored procedure in SQL Server , passing in a parameter, executed from VBA out in Access I would be most appreciative. On another note entirely, does anyone know how to, in SQL, specify a specific quantity of records, from a specific place in a table, without depending on an autonumber PK to do it. IOW, I need to pull the first 2 million records, then the second 2 million records, then the third 2 million records etc. I will be exporting these out to a CSV file. The table has an autoincrement PK but some records have been deleted because their address was not deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and in fact I will use this approach if required. The problem is that the result set will not be 2 million records, but rather 2 million minus the deleted records in that range. I suppose I could create another autoincrement field so that I would have a field where the numbers are consecutive and then use the approach above, using that field. I am just trying to discover whether it is possible with SQL to do this without depending on an autoincrementing number field. Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com From DElam at jenkens.com Mon May 7 09:30:28 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Mon, 7 May 2007 09:30:28 -0500 Subject: [AccessD] Thanks for the help Message-ID: <573E90481C9F004C9E598D3A5A9DCDA001D261@jgexch1.jenkens.com> A pass through query can run a stored procedure from Access. Dev Ashish has a function on his website that will dynamically create a pass through query if you need to add parameters. Debbie -----Original Message----- From: JWColby [mailto:jwcolby at colbyconsulting.com] Sent: Monday, May 07, 2007 9:06 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Thanks for the help I am making great progress on understanding how to create stored procedures and getting them functioning. The piece I am still missing for my particular application is how to get them to run from Access. As you probably know by now I am trying to do batch processing of data import / export. Last week I was working on getting a 100 million record data import happening, where the data came in from 56 different files of various size, one or more files per state, depending on the population of the state. I got a stored procedure built and, using a Bulk Insert SQL statement was able to up my import from a previous high less than 500 records / second to up above 12K records / second on average. What an improvement that has been! Again a million thanks to all those who so patiently talked me through this stuff. In the end I simply opened a query window inside of SQL Server, and keyed in the name of the stored procedure and a file name, manually recorded the time it took SQL Server to perform the insert, modified the filename and did the next etc. 56 times and I was done. Not efficient but with the import times so radically improved at least I could get it done. My next step has to be getting such a stored procedure functioning when run from Access. ATM my application that does the data transformation from fixed width to csv is the driver for this entire process, and ATM it is written in Access / VBA. Remember that these stored procedures simply do a BULK INSERT, passing in a file name. therefore these stored procedures do not yet return a recordset (or even a value), but I really do need to get them to return a value eventually. My strategy is to "baby step" this thing so that I can sort out where the inevitable problem lies and get it functioning one step at a time. So my next step is simply to get the stored procedure executing when called from VBA. If anyone has code that they are willing to share that executes a stored procedure in SQL Server , passing in a parameter, executed from VBA out in Access I would be most appreciative. On another note entirely, does anyone know how to, in SQL, specify a specific quantity of records, from a specific place in a table, without depending on an autonumber PK to do it. IOW, I need to pull the first 2 million records, then the second 2 million records, then the third 2 million records etc. I will be exporting these out to a CSV file. The table has an autoincrement PK but some records have been deleted because their address was not deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and in fact I will use this approach if required. The problem is that the result set will not be 2 million records, but rather 2 million minus the deleted records in that range. I suppose I could create another autoincrement field so that I would have a field where the numbers are consecutive and then use the approach above, using that field. I am just trying to discover whether it is possible with SQL to do this without depending on an autoincrementing number field. Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 7 09:57:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 7 May 2007 07:57:16 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78e94$66ae2020$6401a8c0@nant> References: <000001c78e94$66ae2020$6401a8c0@nant> Message-ID: I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Elizabeth.J.Doering at wellsfargo.com Mon May 7 10:21:38 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Mon, 7 May 2007 10:21:38 -0500 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable References: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A01652339@msgswbmnmsp04.wellsfargo.com> Thanks, Shamil and all, for the education. I will be reading up on INSTEAD OF triggers. This list is amazing! Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 5:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Mon May 7 10:34:16 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 08:34:16 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <0JHO00DY9GL44SDB@vms042.mailsrvcs.net> Shamil, I think that if you were to check with the original intent of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/791 - Release Date: 5/6/2007 9:07 AM From ebarro at verizon.net Mon May 7 10:35:55 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 08:35:55 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <0JHO00JYMGNUT2K3@vms048.mailsrvcs.net> Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 7 10:54:36 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 19:54:36 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: Message-ID: <000c01c790c0$0394ea40$6401a8c0@nant> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Mon May 7 11:18:51 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 09:18:51 -0700 Subject: [AccessD] Access and Linux Message-ID: <003901c790c3$6693e760$0501a8c0@HAL9005> Dear List: Can an access from end run under Linux? Can the back end run off of a Linux server? MTIA, Rocky From fuller.artful at gmail.com Mon May 7 11:33:16 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 7 May 2007 12:33:16 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <001a01c790b0$d43b04f0$657aa8c0@m6805> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> Message-ID: <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> 1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. 2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. In your Access app, if you know the parameters you want to feed the sproc, I would go with the first way. A simple EXEC (or EXECUTE if you're feeling verbose). Now, regarding the 2m row selection. This one is easy, unless I'm missing something. Just SELECT TOP 2 Million to start with. Create a sproc that expects a starting PK and defaults to zero or one. Make the sproc select the top two million rows whose pk is greater than the parameter you feed in. You could even declare a second parameter called @lastPK, defined as an OUTPUT parameter, so you get back the last PK in the 2M rows selected. Then you can use that value as the input next time you fire the sproc. I hope this helped. I might have inadvertently left out a step. If so, let me know. Arthur On 5/7/07, JWColby wrote: > > I am making great progress on understanding how to create stored > procedures > and getting them functioning. The piece I am still missing for my > particular application is how to get them to run from Access. As you > probably know by now I am trying to do batch processing of data import / > export. Last week I was working on getting a 100 million record data > import > happening, where the data came in from 56 different files of various size, > one or more files per state, depending on the population of the state. I > got a stored procedure built and, using a Bulk Insert SQL statement was > able > to up my import from a previous high less than 500 records / second to up > above 12K records / second on average. What an improvement that has been! > Again a million thanks to all those who so patiently talked me through > this > stuff. > > In the end I simply opened a query window inside of SQL Server, and keyed > in > the name of the stored procedure and a file name, manually recorded the > time > it took SQL Server to perform the insert, modified the filename and did > the > next etc. 56 times and I was done. Not efficient but with the import > times > so radically improved at least I could get it done. > > My next step has to be getting such a stored procedure functioning when > run > from Access. ATM my application that does the data transformation from > fixed width to csv is the driver for this entire process, and ATM it is > written in Access / VBA. Remember that these stored procedures simply do > a > BULK INSERT, passing in a file name. therefore these stored procedures do > not yet return a recordset (or even a value), but I really do need to get > them to return a value eventually. My strategy is to "baby step" this > thing > so that I can sort out where the inevitable problem lies and get it > functioning one step at a time. So my next step is simply to get the > stored > procedure executing when called from VBA. > > If anyone has code that they are willing to share that executes a stored > procedure in SQL Server , passing in a parameter, executed from VBA out in > Access I would be most appreciative. > > On another note entirely, does anyone know how to, in SQL, specify a > specific quantity of records, from a specific place in a table, without > depending on an autonumber PK to do it. > > IOW, I need to pull the first 2 million records, then the second 2 million > records, then the third 2 million records etc. I will be exporting these > out to a CSV file. The table has an autoincrement PK but some records > have > been deleted because their address was not deliverable. Thus I could > simply > say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > > 2,000,000 and <=4,000,000" and in fact I will use this approach if > required. The problem is that the result set will not be 2 million > records, > but rather 2 million minus the deleted records in that range. > > I suppose I could create another autoincrement field so that I would have > a > field where the numbers are consecutive and then use the approach above, > using that field. I am just trying to discover whether it is possible > with > SQL to do this without depending on an autoincrementing number field. > > Thanks, > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: Message-ID: <001301c790c5$a8edc3e0$6401a8c0@nant> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 07, 2007 6:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A01652339@msgswbmnmsp04.wellsfargo.com> Message-ID: <001701c790c5$a96c42b0$6401a8c0@nant> My pleasure, Liz! :) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Monday, May 07, 2007 7:22 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Thanks, Shamil and all, for the education. I will be reading up on INSTEAD OF triggers. This list is amazing! Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 5:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <0JHO00JYMGNUT2K3@vms048.mailsrvcs.net> Message-ID: <001801c790c5$abad3200$6401a8c0@nant> Hello Eric, I agree with you. And I'm not telling that technical excellence and good design should be sacrificed. I'd also note that technical excellence isn't an absolute term: therefore technical excellence could be a source of "religious debates", which I wanted to avoid here by all means. And I'd also note - as we can see nowadays, technical excellence is considered more as being "simple": simple in use, simple in support and extendibility, looking simple, minimalist, stylish. A "classic" example of such modern "simple technical excellence" is iPod. But as we all know to achieve that level of simplicity a lot of experience and hardwork and courage and talent are needed... <<< Some of the principles behind the Agile Manifesto are: >>> Would you like me to try to tell here how all these principles/goals are followed/achieved by using views and instead of triggers? (and as I noted earlier using views and instead of triggers may have some side effects, especially for large databases, making this approach a "no go" but then in many positions similar but not the same abstraction layer based on SPs should work for sure for large databases also). I must say that agile development practices are often sounding non-intuitive even paradoxical for many "traditional" developers... And as I wrote to Gustav - I'm not yet there - I'm far from being true "agilist" - therefore here I mainly share my current view on this development methodology and its practices - I'm not teaching it here, not at all - I'm trying to find here together with you and other AccessD members answers on some questions, which I cannot currently answer by myself... Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, May 07, 2007 7:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 krosenstiel at comcast.net Mon May 7 11:44:13 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Mon, 07 May 2007 16:44:13 +0000 Subject: [AccessD] Access and Linux Message-ID: <050720071644.24706.463F575D0002C040000060822212020784040A079B9C020A9C019D05@comcast.net> I think maybe it can, under WINE or some other Windows emulator. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Rocky Smolin at Beach Access Software" > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a Linux > server? > > MTIA, > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 7 11:46:24 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Mon, 7 May 2007 12:46:24 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> Message-ID: <004601c790c7$401c8110$657aa8c0@m6805> Arthur, Thanks for the reply. >1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. My FE is a regular MDB, running in Office 2003. It is not an ADP. I link using the ODBC Databases() "files of type" when setting up the linked tables. Understand that I do not know if that is even required (linked tables) since I am not directly updating the tables anyway. Remember that these are 100 million rec tables so I am not doing any of the table import / export from inside of Access, but rather through the sprocs. >2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. No ADPs here, nor am I attempting to view or update any of the information through a form. >You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. I think from what others are saying as well, that this is the route I will take. Thanks again for all assistance. I will prevail! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 07, 2007 12:33 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Thanks for the help 1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. 2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. In your Access app, if you know the parameters you want to feed the sproc, I would go with the first way. A simple EXEC (or EXECUTE if you're feeling verbose). Now, regarding the 2m row selection. This one is easy, unless I'm missing something. Just SELECT TOP 2 Million to start with. Create a sproc that expects a starting PK and defaults to zero or one. Make the sproc select the top two million rows whose pk is greater than the parameter you feed in. You could even declare a second parameter called @lastPK, defined as an OUTPUT parameter, so you get back the last PK in the 2M rows selected. Then you can use that value as the input next time you fire the sproc. I hope this helped. I might have inadvertently left out a step. If so, let me know. Arthur On 5/7/07, JWColby wrote: > > I am making great progress on understanding how to create stored > procedures and getting them functioning. The piece I am still missing > for my particular application is how to get them to run from Access. > As you probably know by now I am trying to do batch processing of data > import / export. Last week I was working on getting a 100 million > record data import happening, where the data came in from 56 different > files of various size, one or more files per state, depending on the > population of the state. I got a stored procedure built and, using a > Bulk Insert SQL statement was able to up my import from a previous > high less than 500 records / second to up above 12K records / second > on average. What an improvement that has been! > Again a million thanks to all those who so patiently talked me through > this stuff. > > In the end I simply opened a query window inside of SQL Server, and > keyed in the name of the stored procedure and a file name, manually > recorded the time it took SQL Server to perform the insert, modified > the filename and did the next etc. 56 times and I was done. Not > efficient but with the import times so radically improved at least I > could get it done. > > My next step has to be getting such a stored procedure functioning > when run from Access. ATM my application that does the data > transformation from fixed width to csv is the driver for this entire > process, and ATM it is written in Access / VBA. Remember that these > stored procedures simply do a BULK INSERT, passing in a file name. > therefore these stored procedures do not yet return a recordset (or > even a value), but I really do need to get them to return a value > eventually. My strategy is to "baby step" this thing so that I can > sort out where the inevitable problem lies and get it functioning one > step at a time. So my next step is simply to get the stored procedure > executing when called from VBA. > > If anyone has code that they are willing to share that executes a > stored procedure in SQL Server , passing in a parameter, executed from > VBA out in Access I would be most appreciative. > > On another note entirely, does anyone know how to, in SQL, specify a > specific quantity of records, from a specific place in a table, > without depending on an autonumber PK to do it. > > IOW, I need to pull the first 2 million records, then the second 2 > million records, then the third 2 million records etc. I will be > exporting these out to a CSV file. The table has an autoincrement PK > but some records have been deleted because their address was not > deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" > and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and > in fact I will use this approach if required. The problem is that the > result set will not be 2 million records, but rather 2 million minus > the deleted records in that range. > > I suppose I could create another autoincrement field so that I would > have a field where the numbers are consecutive and then use the > approach above, using that field. I am just trying to discover > whether it is possible with SQL to do this without depending on an > autoincrementing number field. > > Thanks, > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 Mon May 7 11:47:37 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 7 May 2007 12:47:37 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <001301c790c5$a8edc3e0$6401a8c0@nant> References: <001301c790c5$a8edc3e0$6401a8c0@nant> Message-ID: <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. On 5/7/07, Shamil Salakhetdinov wrote: > > Charlotte, > > That would have been great if we have been able to develop a database > model, > a software functionality,... once then deliver it and then forget it... > > But "the only constant thing in the modern software development is the > constant change"... > > -- > Shamil > From carbonnb at gmail.com Mon May 7 12:11:30 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Mon, 7 May 2007 13:11:30 -0400 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: On 5/7/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a Linux > server? > > MTIA, Front end. Maybe. It'll have to be run with Wine or CrossOver Office Back End. Yes. All the processing is done on the local machine the BE is just a file on the network. All my DBs in use have the BE on Novell servers. -- 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 martyconnelly at shaw.ca Mon May 7 12:20:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 10:20:42 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <463F5FEA.5020506@shaw.ca> Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a Linux >server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Mon May 7 12:50:07 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 10:50:07 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> References: <001301c790c5$a8edc3e0$6401a8c0@nant> <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> Message-ID: <463F66CF.3050701@shaw.ca> No, maybe a quote attributed to Red Adair. "If you want the job done, I can do it fast, I can do it cheap, I can do it well. Pick two." At age 75, Adair took part in extinguishing the oil well fires in Kuwait set by retreating Iraqi troops after the Gulf War in 1991. John Wayne also played him in a movie about oil well fires in Algeria. Arthur Fuller wrote: >Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. > >On 5/7/07, Shamil Salakhetdinov wrote: > > >>Charlotte, >> >>That would have been great if we have been able to develop a database >>model, >>a software functionality,... once then deliver it and then forget it... >> >>But "the only constant thing in the modern software development is the >>constant change"... >> >>-- >>Shamil >> >> >> -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Mon May 7 13:02:25 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:02:25 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <050720071644.24706.463F575D0002C040000060822212020784040A079B9C020A9C019D05@comcast.net> Message-ID: <005e01c790d1$df576600$0501a8c0@HAL9005> Thanks. I'll check out WINE. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of krosenstiel at comcast.net Sent: Monday, May 07, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux I think maybe it can, under WINE or some other Windows emulator. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Rocky Smolin at Beach Access Software" > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a > Linux server? > > MTIA, > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From rockysmolin at bchacc.com Mon May 7 13:03:12 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:03:12 -0700 Subject: [AccessD] Access and Linux In-Reply-To: Message-ID: <005f01c790d1$fa73dbd0$0501a8c0@HAL9005> I'm going to set my FIL to check out WINE and Crossover. He's agot a Linux machine. Thanks Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Monday, May 07, 2007 10:12 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux On 5/7/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a > Linux server? > > MTIA, Front end. Maybe. It'll have to be run with Wine or CrossOver Office Back End. Yes. All the processing is done on the local machine the BE is just a file on the network. All my DBs in use have the BE on Novell servers. -- 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From rockysmolin at bchacc.com Mon May 7 13:03:57 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:03:57 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <463F5FEA.5020506@shaw.ca> Message-ID: <006001c790d2$15465050$0501a8c0@HAL9005> You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From ebarro at verizon.net Mon May 7 13:09:13 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 11:09:13 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <006001c790d2$15465050$0501a8c0@HAL9005> Message-ID: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Yeah...put on your dancing shoes and do the Samba Rocky... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- From martyconnelly at shaw.ca Mon May 7 13:29:18 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 11:29:18 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> References: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Message-ID: <463F6FFE.5030602@shaw.ca> http://us3.samba.org/samba/ Eric Barro wrote: >Yeah...put on your dancing shoes and do the Samba Rocky... > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at >Beach Access Software >Sent: Monday, May 07, 2007 11:04 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Access and Linux > >You need Samba? > >Rocky > > > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Monday, May 07, 2007 10:21 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] Access and Linux > >Access backends will work with Linux running Samba Access web based backends >will run with Samba and ChiliSoft ChiliSoft may have been sold or the name >changed to protect the guilty. > >Access Frontends may run with either Wine or Mono on Linux although which >higher version of Access, may run I don't know. >Access 97 should be okay. > > >Rocky Smolin at Beach Access Software wrote: > > > >>Dear List: >> >>Can an access from end run under Linux? Can the back end run off of a >>Linux server? >> >>MTIA, >> >>Rocky >> >> >> >> >> >> >> >> >> >> > >-- >Marty Connelly >Victoria, B.C. >Canada > >-- > > > > > -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Mon May 7 14:03:02 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 07 May 2007 12:03:02 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <0JHO00164Q1YWKA6@l-daemon> Hi Rocky: There are a few of ways of going about this. 1. Using a product like 'Wine' which will allow a Linux user to run a Windows application through a Window. See http://itrain.org/itinfo/2001/it010530.html for some information on it. 2. This is my favourite. Create a virtual PC on the Linux/Mac OS and run the application through a virtual Window. There are free and open-source versions of the described products but their features are limited but that may be all that is needed. Here is a link to a comparison article on the for sale products: http://www.google.ca/search?hl=en&q=linux+virtual+PC&meta= The virtual PC could to setup to auto-start an application. The real beauty is that the completed VPC is just a file and can to copied anywhere and can be run from any computer as it is a self-contained world. 3. The ultimate way is to re-write the app in the Sun Linux Office package which is also the most complex way. 4. The final solution would be to migrate the product to web based application using ASP.Net/ASP, PHP, etc. This would be a long-range goal but definitely worth consideration as there are more pluses than downsides. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Access and Linux Dear List: Can an access from end run under Linux? Can the back end run off of a Linux server? MTIA, Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Mon May 7 14:16:28 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 07 May 2007 12:16:28 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <006001c790d2$15465050$0501a8c0@HAL9005> Message-ID: <0JHO00BE0QOB1F40@l-daemon> Hi Rocky: Samba is the connection protocol manager that allows a Linux user to fully access all the Windows Server/PCs and printers and usually installs currently on all Linux desktop distributions unless specified otherwise (as default). It generally sets it self up automatically but if manual intervention is required it can be a pain as Windows network protocols standards tend to be a moving target. You probably do not have to worry about this though as a backend on a Windows box will just require appropriate credentials, username and password to allow access and that is all. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 7 14:14:30 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 23:14:30 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <463F66CF.3050701@shaw.ca> Message-ID: <000901c790db$f0c94bb0$6401a8c0@nant> Hello Marthy and Arthur, Well, I understand your irony and skepticism.... Still. Believe me or not - we're talking about different things... Elron Hubbard - creator of Dianetics? No, I'm not going to quote him... "...pick any too..." is not applicable in the context I'm talking about... I'm collecting real life projects information on the subject here. I hope I will write about it here in the coming days... Your turn now, but forget your irony please :) Till then, Thank you, Yours.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 9:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable No, maybe a quote attributed to Red Adair. "If you want the job done, I can do it fast, I can do it cheap, I can do it well. Pick two." At age 75, Adair took part in extinguishing the oil well fires in Kuwait set by retreating Iraqi troops after the Gulf War in 1991. John Wayne also played him in a movie about oil well fires in Algeria. Arthur Fuller wrote: >Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. > >On 5/7/07, Shamil Salakhetdinov wrote: > > >>Charlotte, >> >>That would have been great if we have been able to develop a database >>model, >>a software functionality,... once then deliver it and then forget it... >> >>But "the only constant thing in the modern software development is the >>constant change"... >> >>-- >>Shamil >> >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Mon May 7 15:04:44 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 13:04:44 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Message-ID: <008201c790e2$f4e5d4a0$0501a8c0@HAL9005> Not a pretty picture... Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, May 07, 2007 11:09 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux Yeah...put on your dancing shoes and do the Samba Rocky... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From markamatte at hotmail.com Mon May 7 15:10:58 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:10:58 +0000 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: <000901c790db$f0c94bb0$6401a8c0@nant> Message-ID: Hello All, In A97 I need to have a window pop up so the user can select the folder and file name where I want to create something. I don't want it to save anything at that point...I just want the path they picked. Any suggestions? Thanks, Mark A. Matte _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From jimdettman at verizon.net Mon May 7 15:33:25 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Mon, 07 May 2007 16:33:25 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <001a01c790b0$d43b04f0$657aa8c0@m6805> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> Message-ID: <001f01c790e6$f72d7de0$8abea8c0@XPS> John, <> Below is a ADO and a DAO sample of calling of a stored proc. Also a little function I've found that helps tremendously in figuring out exactly what a SP is looking for from the Access point of view. Jim. Function GetSecurityGroupsADO() As String ' Returns a string of the security groups to which the current user belongs. ' ADO Version for use with custom apps. Const RoutineName = "GetSecurityGroupsADO" Const Version = "1.0" Dim strConnect As String Dim cnn As ADODB.Connection Dim cmd As ADODB.Command Dim prm As ADODB.Parameter On Error GoTo GetSecurityGroupsADO_Error Set cnn = New ADODB.Connection cnn.Open "DSN=SYS" Set cmd = New ADODB.Command cmd.ActiveConnection = cnn cmd.CommandText = "trvSp_CurrentGroup" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("GroupID", adVarChar, adParamOutput, 1000) cmd.Parameters.Append prm cmd.Execute GetSecurityGroupsADO = cmd.Parameters("GroupID") GetSecurityGroupsADO_Exit: On Error Resume Next Set prm = Nothing Set cmd = Nothing cnn.Close Set cnn = Nothing Exit Function GetSecurityGroupsADO_Error: UnexpectedError ModuleName, RoutineName, Version, Err.Number, Err.Description, Err.Source, VBA.Erl GetSecurityGroupsADO = "" Resume GetSecurityGroupsADO_Exit End Function ===================================== Function GetUserSecurityGroupsDAO() As String ' Special version of GetUserSecurityGroups for use with Traverse. ' NOTE: Does not use normal error handling as this is ' for use with Traverse ONLY Dim qdf As QueryDef Dim sql As String On Error GoTo GetUserSecurityGroupsDAO_Error sql = "{? = call trvsp_CurrentGroup (?)}" Set qdf = gConSQLSys.CreateQueryDef("", sql) qdf.Parameters(0).Direction = dbParamReturnValue qdf.Parameters("@Groups").Direction = dbParamOutput qdf.Execute If qdf.Parameters(0) = 0 Then sql = qdf.Parameters("@Groups") Else sql = "" End If GetUserSecurityGroupsDAO = sql GetUserSecurityGroupsDAO_Exit: On Error Resume Next Set qdf = Nothing Exit Function GetUserSecurityGroupsDAO_Error: GetUserSecurityGroupsDAO = "" Resume GetUserSecurityGroupsDAO_Exit End Function ===================================== Sub GetSPParameters(strSPName As String) ' Return the attributes of the parameters of a stored procedure. ' ie. from the debug window: ' Call GetSPParameters("qrySMGetPeriod") Dim strConnect As String Dim cnn As ADODB.Connection Dim cmd As ADODB.Command Dim prm As ADODB.Parameter 10 Set cnn = New ADODB.Connection 20 cnn.Open "DSN=SYS" 30 Set cmd = New ADODB.Command 40 cmd.ActiveConnection = cnn 50 cmd.CommandText = strSPName 60 cmd.CommandType = adCmdStoredProc 70 cmd.Parameters.Refresh 80 For i = 0 To cmd.Parameters.count - 1 90 Debug.Print "Parameter: " & i 100 Debug.Print " Name: " & cmd.Parameters(i).Name 110 Debug.Print " Type: " & cmd.Parameters(i).Type 120 Debug.Print "Direction: " & cmd.Parameters(i).Direction 130 Debug.Print " Size: " & cmd.Parameters(i).Size 140 Debug.Print " Attrib: " & cmd.Parameters(i).Attributes 150 Debug.Print " Value: " & cmd.Parameters(i).Value 155 Debug.Print "" 160 Next i 170 cnn.Close 180 Set cnn = Nothing End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Monday, May 07, 2007 10:06 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Thanks for the help <> From cfoust at infostatsystems.com Mon May 7 15:38:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 7 May 2007 13:38:58 -0700 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: References: <000901c790db$f0c94bb0$6401a8c0@nant> Message-ID: You'll need to use API calls. I believe if you search the archives, you'll find multiple instances of this code listed. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 1:11 PM To: accessd at databaseadvisors.com Subject: [AccessD] Windows Dialogue Box? Hello All, In A97 I need to have a window pop up so the user can select the folder and file name where I want to create something. I don't want it to save anything at that point...I just want the path they picked. Any suggestions? Thanks, Mark A. Matte _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Mon May 7 15:55:40 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:55:40 +0000 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: Message-ID: Thanks Charlotte...I found it. >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Windows Dialogue Box? >Date: Mon, 7 May 2007 13:38:58 -0700 > >You'll need to use API calls. I believe if you search the archives, >you'll find multiple instances of this code listed. > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 1:11 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Windows Dialogue Box? > >Hello All, > >In A97 I need to have a window pop up so the user can select the folder >and file name where I want to create something. I don't want it to save >anything at that point...I just want the path they picked. > >Any suggestions? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN >In Concert today. >http://music.msn.com/presents?icid=ncmsnpresentstagline > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From markamatte at hotmail.com Mon May 7 15:59:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:59:43 +0000 Subject: [AccessD] Report to Excel In-Reply-To: Message-ID: Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From Lambert.Heenan at AIG.com Mon May 7 16:18:45 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Mon, 7 May 2007 17:18:45 -0400 Subject: [AccessD] Report to Excel Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D5B6@xlivmbx35.aig.com> Take a look at DoCmd.TransferSpreadsheet acExport,... Basically you pass it the name of a Query, and for each differently named query it will add another tab to the Excel file that is created. Then to do your formatting you need to keep track of which worksheet need to be formatted and you'll wind up manipulating a specific Excel.Worksheet object and a Range object on that sheet. HTH Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 5:00 PM To: accessd at databaseadvisors.com Subject: [AccessD] Report to Excel Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i'm Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From JHewson at karta.com Mon May 7 16:27:24 2007 From: JHewson at karta.com (Jim Hewson) Date: Mon, 7 May 2007 16:27:24 -0500 Subject: [AccessD] Report to Excel In-Reply-To: References: Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Mark, I do this frequently. In one export I end up with 15 worksheets and manipulate the date in Excel via Access. I would use TransferSpreadsheet instead of what you have. Also, put Set appExcel = New Excel.Application before the TransferSpreadsheet command. If you use something like: DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True It will export to separate spreadsheets. HTH Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 4:00 PM To: accessd at databaseadvisors.com Subject: [AccessD] Report to Excel Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i'm Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From wdhindman at dejpolsystems.com Mon May 7 18:27:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 7 May 2007 19:27:45 -0400 Subject: [AccessD] Access and Linux References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <001501c790ff$51c42de0$7d7d6c4c@jisshowsbs.local> ...hhhmmm ...I use an Access be on Linux boxes I use as locale servers at trade shows but like Bryan, the fe's are on Win. William Hindman ----- Original Message ----- From: "Bryan Carbonnell" To: "Access Developers discussion and problem solving" Sent: Monday, May 07, 2007 1:11 PM Subject: Re: [AccessD] Access and Linux > On 5/7/07, Rocky Smolin at Beach Access Software > wrote: >> >> Dear List: >> >> Can an access from end run under Linux? Can the back end run off of a >> Linux >> server? >> >> MTIA, > > Front end. Maybe. It'll have to be run with Wine or CrossOver Office > > Back End. Yes. All the processing is done on the local machine the BE > is just a file on the network. All my DBs in use have the BE on Novell > servers. > > -- > 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 Gustav at cactus.dk Tue May 8 03:23:31 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:23:31 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable Message-ID: Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 07, 2007 6:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From Gustav at cactus.dk Tue May 8 03:28:46 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:28:46 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Message-ID: Hi Eric Thanks for the clarification. That list of principles makes sense. Indeed as that is how we've always (which is since 1993) operated. That said, I think most of the discussion on agile programming relates to large projects where the "old method" was to use years in writing specifications involving users in endless meetings on something they could only imagine; then years was used to program the project using old technology. In the end the project was finished - typically with a major delay and a serious budget increase - but it was outdated from the first day as the real world, of course, had moved during the build of the project. /gustav >>> ebarro at verizon.net 07-05-2007 17:35 >>> Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric From Gustav at cactus.dk Tue May 8 03:45:39 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:45:39 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable Message-ID: Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav From shamil at users.mns.ru Tue May 8 05:01:28 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 14:01:28 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000901c79157$d93e0090$6401a8c0@nant> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil <<< tail skipped >>> From shamil at users.mns.ru Tue May 8 05:34:35 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 14:34:35 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000a01c7915c$7a7b05d0$6401a8c0@nant> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 07:19:00 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 08:19:00 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: <00a001c7916b$0fa3f500$657aa8c0@m6805> I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil From jwcolby at colbyconsulting.com Tue May 8 07:53:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 08:53:04 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000901c79157$d93e0090$6401a8c0@nant> References: <000901c79157$d93e0090$6401a8c0@nant> Message-ID: <00a701c7916f$d216dea0$657aa8c0@m6805> Shamil, On the whole I agree with you. I also believe however that the phrase "simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances..." is best interpreted through a developers perspective. Let me give you an example that I think fits here. I have a client that STARTED as a CALL CENTER for disability claims. I got involved with this company when their original call center software broke down due to an almost complete lack of normalization. All information about the policy, policy holder, claimant and claim were all in one big table. We all know that won't work well for long. I came in, analyzed the problem, recommended a fresh start, spent about 4 months normalizing the data (and rescuing the old data), and turned on a new system. I think that part is a requirement and has nothing to do with the discussion other than to point out that the first system (which was not mine) could be classified as "agile programming", i.e. it got them up and running well enough to afford to hire me to "do it the right way". My example of a bit more complex choice is this. The client is now moving into actually paying the claims as well. Un until this point the client simply processed the claim, validated it by collecting medical records, hiring detectives to spy on the claimant if fraud was suspected etc. Now they actually write the checks. Writing the checks involves a LOT of data transfer between mainframes and our database. When I started I used "agile" programming, literally hard coding solutions to get a file exporting data from our database to theirs. These hard coded solutions were a nightmare to write, and a nightmare to maintain. Ultimately, they "settle down" and just function but that process of getting them written and debugged was simply horrendous. BUT, that is the way I did it in order to "make it work NOW". The bigger problem is that for every new client that my client gets, I have to hand code a slew of these reports. In the background, between fires, I began developing a "table driven report spec", a two table system, where table 1 defines spec level stuff (name of the report, path the report is stored in, query supplying the data etc.) and table 2 defines field level stuff (name of the field in their spec, name of the field in my query (see table 1), position of the data in the fixed width line, width of the data in the fixed width line, pad character of that field, pad direction of that field etc. I implemented the solution with four classes, one to hold the fields data, one to hold the report data, one to assemble the strings from the fields for the report, and one to do whatever "glue" was required for that specific report (generally tiny and manageable now). My point here is that the "hard coded" solution I used originally works. Once it is stable it works forever. However it is a ROYAL PITA to set up and get functioning. My table driven method OTOH is dead simple to get functioning. Write the queries to pull the data specific to a report, build two records in the report table and the field table. In many cases that is it. Push the button and go. If the formatting changes, you go into the table and change the pad direction, the pad character, the format string applied to the data, the position or width in the table etc. So which is Agile programming? They BOTH are. Agile programming is my first reports, hard coded, a PITA to get functioning but stable once they work. Agile programming is ALSO going back and developing a system to do these reports "push button". In the beginning "get it working NOW" was the requirement. In the end "get it PUSHBUTTON" was the requirement. The client never asked for the second method, I just built it and delivered it. However now when they need a new report I just build a query and fill in the tables. AND, equally importantly, it is a common set of code doing it. The maintenance is incredibly smaller. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil From shamil at users.mns.ru Tue May 8 08:18:33 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 17:18:33 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a001c7916b$0fa3f500$657aa8c0@m6805> Message-ID: <000101c79173$60fd0650$6401a8c0@nant> <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 08:35:16 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 17:35:16 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a701c7916f$d216dea0$657aa8c0@m6805> Message-ID: <000301c79175$b6a55c40$6401a8c0@nant> <<< So which is Agile programming? They BOTH are. >>> Yes, John, they both are but if you used Visual Studio and MS SQL and Crystal reports/Active Reports/... then your transition (assuming you're experienced with these technologies) from the first solution to the second one would have been more smooth, more quick I think and if you have also been experienced with agile methodologies (I'm not I'm learning) then this transition would have also been very/even more natural for you - I mean technical refactoring steps when you refactor one solution into another one "on-the-fly", i.e. without (almost) getting down the first solution, which is currently running, down: to do such refactoring you have to have good/complete acceptance and unit tests coverage, which you I guess didn't have or which you have a few and instead of these acceptance/unit tests used time consuming debugging... Yes, you made it finally this transition - but consciously "armored" with agile development methodologies and development tools you'd have spent fewer resources... And if you developed this system in MS Access it's still a problem to scale it up as e.g. a Web application - when such a system developed using the development tools mentioned above then scaling up doesn't require a lot of resources/reworking.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:53 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Shamil, On the whole I agree with you. I also believe however that the phrase "simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances..." is best interpreted through a developers perspective. Let me give you an example that I think fits here. I have a client that STARTED as a CALL CENTER for disability claims. I got involved with this company when their original call center software broke down due to an almost complete lack of normalization. All information about the policy, policy holder, claimant and claim were all in one big table. We all know that won't work well for long. I came in, analyzed the problem, recommended a fresh start, spent about 4 months normalizing the data (and rescuing the old data), and turned on a new system. I think that part is a requirement and has nothing to do with the discussion other than to point out that the first system (which was not mine) could be classified as "agile programming", i.e. it got them up and running well enough to afford to hire me to "do it the right way". My example of a bit more complex choice is this. The client is now moving into actually paying the claims as well. Un until this point the client simply processed the claim, validated it by collecting medical records, hiring detectives to spy on the claimant if fraud was suspected etc. Now they actually write the checks. Writing the checks involves a LOT of data transfer between mainframes and our database. When I started I used "agile" programming, literally hard coding solutions to get a file exporting data from our database to theirs. These hard coded solutions were a nightmare to write, and a nightmare to maintain. Ultimately, they "settle down" and just function but that process of getting them written and debugged was simply horrendous. BUT, that is the way I did it in order to "make it work NOW". The bigger problem is that for every new client that my client gets, I have to hand code a slew of these reports. In the background, between fires, I began developing a "table driven report spec", a two table system, where table 1 defines spec level stuff (name of the report, path the report is stored in, query supplying the data etc.) and table 2 defines field level stuff (name of the field in their spec, name of the field in my query (see table 1), position of the data in the fixed width line, width of the data in the fixed width line, pad character of that field, pad direction of that field etc. I implemented the solution with four classes, one to hold the fields data, one to hold the report data, one to assemble the strings from the fields for the report, and one to do whatever "glue" was required for that specific report (generally tiny and manageable now). My point here is that the "hard coded" solution I used originally works. Once it is stable it works forever. However it is a ROYAL PITA to set up and get functioning. My table driven method OTOH is dead simple to get functioning. Write the queries to pull the data specific to a report, build two records in the report table and the field table. In many cases that is it. Push the button and go. If the formatting changes, you go into the table and change the pad direction, the pad character, the format string applied to the data, the position or width in the table etc. So which is Agile programming? They BOTH are. Agile programming is my first reports, hard coded, a PITA to get functioning but stable once they work. Agile programming is ALSO going back and developing a system to do these reports "push button". In the beginning "get it working NOW" was the requirement. In the end "get it PUSHBUTTON" was the requirement. The client never asked for the second method, I just built it and delivered it. However now when they need a new report I just build a query and fill in the tables. AND, equally importantly, it is a common set of code doing it. The maintenance is incredibly smaller. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 08:37:55 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 09:37:55 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000101c79173$60fd0650$6401a8c0@nant> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> <000101c79173$60fd0650$6401a8c0@nant> Message-ID: <00a901c79176$167d0910$657aa8c0@m6805> Shamil, >I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances I do not see anything in there about a specific agile development platform. It appears to me that Agile Development is a concept, not a platform. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Tue May 8 08:47:54 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 15:47:54 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable Message-ID: Hi Shamil OK, I think I understand you - and maybe not, because how can you prepare for *any* future change while at the same time perform quick and lazy programming? Still, we may just be doing this lazy stuff here as we've never supplied a model or database schema for a client, some don't even have any documentation at all because the operation of the app is so straight forward. On the other hand, doing it "right" - and here I think of a (nearly) normalized database structure - I have found to be the best way to prepare for "any" future change, not that I have thought so much about it. I can think of a couple of examples from years ago where I had not done it right (for example, but NOT for opening that discussion again, by using "easy" natural keys!) and where I later was beaten by the poor design when changes were requested. /gustav >>> shamil at users.mns.ru 08-05-2007 12:01 >>> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil From Gustav at cactus.dk Tue May 8 08:54:56 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 15:54:56 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable Message-ID: Hi Shamil I must believe you here as I haven't done much programming in SQL Server and you have so much more experience in this area. However, to me a middle-tier can be made from anything that fits the purpose, and if that calls for another instance of SQL Server, that's fine with me. Actually, it sounds like it could be a very clever solution. /gustav >>> shamil at users.mns.ru 08-05-2007 12:34 >>> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav From fuller.artful at gmail.com Tue May 8 09:17:04 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 8 May 2007 10:17:04 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: <29f585dd0705080717l519fc8b8y42ede2fbe7d187da@mail.gmail.com> There is no requirement for the middle tier to have a new instance of SQL. In fact I have no idea how you arrived at that thought. The general thinking behind 3-tier architecture is this: 1. client has minimal hardware and minimal installation. Client software has no idea where the database lives, and speaks only to Miss Middleton. 2. Miss Middleton treats all her clients as equally worthless, but does translate their requests into requests from the database, whose address only Miss Middleton knows. 3. The database developers are free to rewite any sprocs and UDFs and views as they please, so long as Miss Middleton is undisturbed. They can even redesign tables, since any good designer forbids direct access to tables. So middle-tier Miss Middleton controls every access to every table, whether it be through a sproc or udf or view or materialized view. Arthur On 5/8/07, Gustav Brock wrote: > > Hi Shamil > > I must believe you here as I haven't done much programming in SQL Server > and you have so much more experience in this area. > However, to me a middle-tier can be made from anything that fits the > purpose, and if that calls for another instance of SQL Server, that's fine > with me. Actually, it sounds like it could be a very clever solution. > > /gustav > > From cfoust at infostatsystems.com Tue May 8 09:57:59 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 07:57:59 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a001c7916b$0fa3f500$657aa8c0@m6805> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> Message-ID: Things slow down in your world??? Every boss I've had has promised "things will slow down in " and they never have. What am I doing wrong, Ann Landers? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Tue May 8 10:01:21 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 08:01:21 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000101c79173$60fd0650$6401a8c0@nant> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> <000101c79173$60fd0650$6401a8c0@nant> Message-ID: I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Tue May 8 10:15:31 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 08:15:31 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: Charlotte's system is n-tier, but basically 3-tier. Our "data tier" holds no data, it holds the business logic and information about the shape and manipulation of data. It is, in fact, a middle tier. The programmers don't have to deal with the true back end, we program to that middle tier. Of course, when the app is in early stages, we're receiving curve balls from the back end DBA, but that's par when creating some new and complicated. But once the dust has settled on the schema, we only have to modify data providers in minimal ways to deal with whatever backend is thrown at us. We currently support either Access or SQL Server backends using a common OleDb provider. There is logic buried in there to check on what kind of BE we're talking to and make any necessary substitutions of things like date delimiters as needed. Eventually, we'll support Oracle too, but we started with the familiar. Instead of SQL Server triggers, we use code that will also work against other backends, since it doesn't depend on the server to execute it. This isn't exactly agile, but the apps we're building couldn't be done that way because the demand for precise historical information is both exhaustive and intense. The gradual development took place over years, and what we're doing now is putting a new face on it, adding things we couldn't do in Access alone, and adding sizzle to make it competitive. It also works quite well and our testers are reduced to finding things that only fail on Wednesdays when the wind is right. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 1:46 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 10:20:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 11:20:54 -0400 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <00b601c79184$79118390$657aa8c0@m6805> In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Tue May 8 10:24:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 15:24:43 +0000 Subject: [AccessD] Report to Excel In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From Lambert.Heenan at AIG.com Tue May 8 11:00:55 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 8 May 2007 11:00:55 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D791@xlivmbx35.aig.com> Well [SomeField] <=10 is a Boolean expression, and Access does the conversion for you automatically. So I suspect the SQL server is not so cooperative and that you will need to explicitly cast the expression to a Boolean value. What's SQL server's equivalent of Cbool() ? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 11:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] SQL Server - Turning comparisons into Booleans In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Tue May 8 11:13:28 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 8 May 2007 11:13:28 -0500 Subject: [AccessD] Report to Excel In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B612F@karta-exc-int.Karta.com> I usually export the data then format each spreadsheet. Since each spreadsheet is standardized, that is each column might have several criterion for subtotals and then a total for all each column. So I might have several subtotal cells then a total cell. I can insert rows; format the subtotal with different colors and bold font, and change the header row to ensure it prints on each page. I can also modify the page setup features. I can copy and paste sections from one worksheet to another. And if needed, I could put in conditional formatting. Most of these print out on an 11X17 inch page. Even then the print can be a little small. This one export has 17 spreadsheets, of which 7 are formatted. I export the data to Excel because even after I format the workbook and use "pretty" colors (I use several) the end users re-sort the data several times to fit their needs. Initially, it took a lot of time to set the format for each worksheet. The VP of Business Development or one of his minions was spending up to 4 hours a day formatting the data. It now takes about a minute. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Tuesday, May 08, 2007 10:25 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage-get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Tue May 8 11:54:19 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 16:54:19 +0000 Subject: [AccessD] Report to Excel In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Tue May 8 11:55:59 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 16:55:59 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, I need to export a report because of the conditional formatting. TransferSpreadsheet won't work with reports. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Make every IM count. Download Messenger and join the i?m Initiative now. It?s free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 From Lambert.Heenan at AIG.com Tue May 8 12:22:41 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 8 May 2007 12:22:41 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D7D8@xlivmbx35.aig.com> Message got bounced the first time. Let's try again. Message got bounced the first time. Let's try again. Well [SomeField] <=10 is a Boolean expression, and Access does the conversion for you automatically. So I suspect the SQL server is not so cooperative and that you will need to explicitly cast the expression to a Boolean value. What's SQL server's equivalent of Cbool() ? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 11:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] SQL Server - Turning comparisons into Booleans In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Tue May 8 12:42:29 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 8 May 2007 23:12:29 +0530 Subject: [AccessD] Report to Excel_ References: Message-ID: Mark, Reports sent directly from Access to Excel are known to suffer from the following shortcomings, making the outcome rather un-acceptable: (a) Substantial loss of alignment and formatting. (b) Labels and lines are lost. (c) Unwanted depiction of actual names of controls, cluttering up the overall display. (d) Group footers do not get transferred properly. There is partial or total loss of content. (e) Back colors (if any) of controls and sections are lost. Chronic limitations outlined above, can be overcome by routing the report via Word and performing final dressing up and formatting within Excel application, which happens to be well suited to perform such a task. With this, the Excel report attains a look basically as good as that of a normal Access report. My sample db named Reports_AccessToExcelAndWord, demonstrates export of Access reports to Excel, with proper alignment and formatting, including all group headers/footers positioned appropriately, along with lines and back colors. Final version of Excel report also gets saved in word document format. This sample db (in Access 2000 file format) is available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. References - Excel 9.0 Object Library, Word 9.0 Object Library, DAO 3.6, Microsoft Scripting RunTime. If you wish to pursue further as per the approach outlined above, you might like to first try out the sample db as it is (without making any modification) and confirm whether it works smoothly at your end. Best wishes, A.D.Tejpal ----- Original Message ----- From: Mark A Matte To: accessd at databaseadvisors.com Sent: Tuesday, May 08, 2007 22:25 Subject: Re: [AccessD] Report to Excel_ Thanks Jim, I need to export a report because of the conditional formatting. TransferSpreadsheet won't work with reports. Any thoughts? Thanks, Mark A. Matte From mmattys at rochester.rr.com Tue May 8 12:58:26 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Tue, 8 May 2007 13:58:26 -0400 Subject: [AccessD] Report to Excel_ References: Message-ID: <02bc01c7919a$88116160$0302a8c0@Laptop> Mark, You could put most of your formatting in an xlt, but it's going to take a bit of fancy automation to replicate your report. Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Mark A Matte" To: Sent: Tuesday, May 08, 2007 12:55 PM Subject: Re: [AccessD] Report to Excel_ > Thanks Jim, > > I need to export a report because of the conditional formatting. > TransferSpreadsheet won't work with reports. > > Any thoughts? > > Thanks, > > Mark A. Matte > > >>From: "Jim Hewson" >>Reply-To: Access Developers discussion and problem >>solving >>To: "Access Developers discussion and problem >>solving" >>Subject: Re: [AccessD] Report to Excel >>Date: Mon, 7 May 2007 16:27:24 -0500 >> >>Mark, >>I do this frequently. In one export I end up with 15 worksheets and >>manipulate the date in Excel via Access. >> >>I would use TransferSpreadsheet instead of what you have. >>Also, put Set appExcel = New Excel.Application before the >>TransferSpreadsheet command. >> >>If you use something like: >> >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True >> >>It will export to separate spreadsheets. >> >>HTH >> >>Jim >>jhewson at karta.com >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Monday, May 07, 2007 4:00 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] Report to Excel >> >>Hello All, >> >>I found the code below in the archives from Jim Hale...Anyway to use this >>approach but to have 2 reports go to the same workbook...just different >>tabs? >> >>Thanks, >> >>Mark A. Matte >> >>*********Code From Jim**************** >>Sub rpt_to_excel() >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >>As String, strReport As String >> >>strpathname = "C:\test.xls" >>strpathnew = "C:\test2.xls" >>strReport = "rptInvsummary" >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname >> >>Set appExcel = New Excel.Application >> >>'format your report >> With appExcel >> .Workbooks.Open strpathname, 0 >> .Visible = True 'just to watch the sheet >> .Range("A1:G1").Select >> .Selection.Font.Bold = True >> .Selection.Font.Name = "Arial" >> .Selection.Font.Size = 12 >> .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal >> End With >> appExcel.Quit >> Set appExcel = Nothing >>End Sub >> >>_________________________________________________________________ >>Download Messenger. Join the i'm Initiative. Help make a difference today. >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > > _________________________________________________________________ > Make every IM count. Download Messenger and join the i'm Initiative now. > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > -------------------------------------------------------------------------------- > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From markamatte at hotmail.com Tue May 8 15:30:03 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 20:30:03 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: Thanks A.D., I actually got the reports to export exactly like I need. The results are in 2 files. I'm trying to put them in the same workbook. The below code works every other time, but excel gets stuck in memory and I have to go kill it. The times it does not work I get the error "RPC Server not available" . The error occurs on the line where I copy the sheet. Any thoughts? Thanks, Mark ****************CODE***************** Set appExcel = New Excel.Application With appExcel .Workbooks.Open "c:\test", 0 .Workbooks.Open "C:\test1.xls", 0 Sheets("rptTest").Copy before:=Workbooks("test.xls").Sheets(1) .ActiveWorkbook.Save .ActiveWorkbook.Close .ActiveWorkbook.Save .ActiveWorkbook.Close End With appExcel.Quit Set appExcel = Nothing >From: "A.D.TEJPAL" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 23:12:29 +0530 > >Mark, > > Reports sent directly from Access to Excel are known to suffer from >the following shortcomings, making the outcome rather un-acceptable: > (a) Substantial loss of alignment and formatting. > (b) Labels and lines are lost. > (c) Unwanted depiction of actual names of controls, cluttering up the >overall display. > (d) Group footers do not get transferred properly. There is partial or >total loss of content. > (e) Back colors (if any) of controls and sections are lost. > > Chronic limitations outlined above, can be overcome by routing the >report via Word and performing final dressing up and formatting within >Excel application, which happens to be well suited to perform such a task. >With this, the Excel report attains a look basically as good as that of a >normal Access report. > > My sample db named Reports_AccessToExcelAndWord, demonstrates export >of Access reports to Excel, with proper alignment and formatting, >including all group headers/footers positioned appropriately, along with >lines and back colors. Final version of Excel report also gets saved in >word document format. > > This sample db (in Access 2000 file format) is available at Rogers >Access Library (other developers library). Link - >http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. > > References - Excel 9.0 Object Library, Word 9.0 Object Library, DAO >3.6, Microsoft Scripting RunTime. > > If you wish to pursue further as per the approach outlined above, you >might like to first try out the sample db as it is (without making any >modification) and confirm whether it works smoothly at your end. > >Best wishes, >A.D.Tejpal > > ----- Original Message ----- > From: Mark A Matte > To: accessd at databaseadvisors.com > Sent: Tuesday, May 08, 2007 22:25 > Subject: Re: [AccessD] Report to Excel_ > > > Thanks Jim, > > I need to export a report because of the conditional formatting. > TransferSpreadsheet won't work with reports. > > Any thoughts? > > Thanks, > > Mark A. Matte >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Tue May 8 15:48:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 16:48:11 -0400 Subject: [AccessD] Redeem your voucher Message-ID: <011e01c791b2$32acf370$657aa8c0@m6805> Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Tue May 8 15:52:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 20:52:57 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <02bc01c7919a$88116160$0302a8c0@Laptop> Message-ID: Thanks Michael, I actually got the formatting like I needed. I'm just having issues getting the worksheets into 1 workbook. Thanks, Mark A. Matte >From: "Michael R Mattys" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 13:58:26 -0400 > >Mark, > >You could put most of your formatting in an xlt, but it's going >to take a bit of fancy automation to replicate your report. > >Michael R. Mattys >MapPoint & Access Dev >www.mattysconsulting.com > >----- Original Message ----- >From: "Mark A Matte" >To: >Sent: Tuesday, May 08, 2007 12:55 PM >Subject: Re: [AccessD] Report to Excel_ > > > > Thanks Jim, > > > > I need to export a report because of the conditional formatting. > > TransferSpreadsheet won't work with reports. > > > > Any thoughts? > > > > Thanks, > > > > Mark A. Matte > > > > > >>From: "Jim Hewson" > >>Reply-To: Access Developers discussion and problem > >>solving > >>To: "Access Developers discussion and problem > >>solving" > >>Subject: Re: [AccessD] Report to Excel > >>Date: Mon, 7 May 2007 16:27:24 -0500 > >> > >>Mark, > >>I do this frequently. In one export I end up with 15 worksheets and > >>manipulate the date in Excel via Access. > >> > >>I would use TransferSpreadsheet instead of what you have. > >>Also, put Set appExcel = New Excel.Application before the > >>TransferSpreadsheet command. > >> > >>If you use something like: > >> > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >> > >>It will export to separate spreadsheets. > >> > >>HTH > >> > >>Jim > >>jhewson at karta.com > >> > >> > >>-----Original Message----- > >>From: accessd-bounces at databaseadvisors.com > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >>Sent: Monday, May 07, 2007 4:00 PM > >>To: accessd at databaseadvisors.com > >>Subject: [AccessD] Report to Excel > >> > >>Hello All, > >> > >>I found the code below in the archives from Jim Hale...Anyway to use >this > >>approach but to have 2 reports go to the same workbook...just different > >>tabs? > >> > >>Thanks, > >> > >>Mark A. Matte > >> > >>*********Code From Jim**************** > >>Sub rpt_to_excel() > >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew > >>As String, strReport As String > >> > >>strpathname = "C:\test.xls" > >>strpathnew = "C:\test2.xls" > >>strReport = "rptInvsummary" > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >> > >>Set appExcel = New Excel.Application > >> > >>'format your report > >> With appExcel > >> .Workbooks.Open strpathname, 0 > >> .Visible = True 'just to watch the sheet > >> .Range("A1:G1").Select > >> .Selection.Font.Bold = True > >> .Selection.Font.Name = "Arial" > >> .Selection.Font.Size = 12 > >> .ActiveWorkbook.SaveAs >Filename:=strpathnew,FileFormat:=xlNormal > >> End With > >> appExcel.Quit > >> Set appExcel = Nothing > >>End Sub > >> > >>_________________________________________________________________ > >>Download Messenger. Join the i'm Initiative. Help make a difference >today. > >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > >> > >> > >>-- > >>AccessD mailing list > >>AccessD at databaseadvisors.com > >>http://databaseadvisors.com/mailman/listinfo/accessd > >>Website: http://www.databaseadvisors.com > > > > _________________________________________________________________ > > Make every IM count. Download Messenger and join the i'm Initiative now. > > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > > > > > >-------------------------------------------------------------------------------- > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From ebarro at verizon.net Tue May 8 16:17:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 08 May 2007 14:17:05 -0700 Subject: [AccessD] Redeem your voucher In-Reply-To: <011e01c791b2$32acf370$657aa8c0@m6805> Message-ID: <0JHQ0068CR4GUVHA@vms046.mailsrvcs.net> Well John, maybe the M$ gods have heard your rants and decided to block your IP from their servers. :) FYI...my officemate just got through their site and it accepted *his* voucher! LOL... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 16:58:44 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 01:58:44 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000001c791bc$0c614950$6401a8c0@nant> <<< how can you prepare for *any* future change while at the same time perform quick and lazy programming? >>> Yes, it sounds as a paradox Gustav but that is possible. One example: I verbatim followed Kent Beck's now classical multi-currency calculation sample application development where they start from simple requirements and using unit testing and constant refinement of requirements they finally get advanced and very flexible object model supporting multi-currency calculations. I personally think that to design this object model "right from the very beginning" an experienced OO developer would have spent a couple of days. What they did to achieve the same result should take a couple/four hours for experienced agile(/XP) developer - and by this sample they also showed what means "to be prepared for any future changes" - prompt reaction on new requirements with new version of software and being 100% sure that adaptation of existing software to the new requirements will not break existing business rules if these are not changed by new requirements... <<< normalized database structure - I have found to be the best way to prepare for "any" future change, >>> Yes, and I'm not saying normalized stricture is bad - I'm just saying it should naturally appear when first time needed because of requested new functionality or because of the need to have such structure as being the most effective to achieve requested level of the system productivity. If requirements of higher system productivity or new functionality will never come then highly normalized database structure will be never needed for a certain project case i.e. it will be over engineering and waste of resources... <<< and where I later was beaten by the poor design when changes were requested >>> Well, here is what an abstraction layer based on views (with INSTEAD OF triggers) or stored procedures and UDFs is for - to minimize "poor design" side effects when change requests come... BTW, there are books published by respectful authors and publishers, which prove that agile development and eXtreme Programming are not good/not effective - one of them is: "Extreme Programming Refactored: The Case Against XP" by Matt Stephens and Doug Rosenberg ISBN:1590590961 Apress C 2003 But many more are presenting/describing advantages of agile development... What side to follow - here everybody decides for themselves.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 5:48 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil OK, I think I understand you - and maybe not, because how can you prepare for *any* future change while at the same time perform quick and lazy programming? Still, we may just be doing this lazy stuff here as we've never supplied a model or database schema for a client, some don't even have any documentation at all because the operation of the app is so straight forward. On the other hand, doing it "right" - and here I think of a (nearly) normalized database structure - I have found to be the best way to prepare for "any" future change, not that I have thought so much about it. I can think of a couple of examples from years ago where I had not done it right (for example, but NOT for opening that discussion again, by using "easy" natural keys!) and where I later was beaten by the poor design when changes were requested. /gustav >>> shamil at users.mns.ru 08-05-2007 12:01 >>> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 16:58:44 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 01:58:44 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a901c79176$167d0910$657aa8c0@m6805> Message-ID: <000101c791bc$0d37fa40$6401a8c0@nant> <<< It appears to me that Agile Development is a concept, not a platform. >>> Yes, it's John, but some techniques/development methodologies as: - unit testing; - teamwork; - code refactoring (to software design patterns); - software configuration management; - continuous integration; - ... These are relatively easy to implement using Java, C# or VB.NET 2005 or C++/CLI. And there are ready to use free, inexpensive or quite expensive tools - whatever a software shop and/or customer can afford... It needs (much) more efforts to use these techniques in MS Access VBA. And there is no agile tools mentioned above for MS Access and MS Access VBA. It's possible to develop such tools but who will do that? (Hey, MS, are you here - do you hear us? We need such tools!...) And what for to develop them when VS2005 is here and more development power, agility and RAD is coming with every new release on VS? Have a look at BindingSource and BidningNavigator and DataGridView pre-built controls - these are a way more powerful than what can be done with bound forms in MS Access... I have to admit that MS Access is finally "arrived" at where it was originally positioned - powertool for power users... Just my opinion, I can be wrong. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Shamil, >I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances I do not see anything in there about a specific agile development platform. It appears to me that Agile Development is a concept, not a platform. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 askolits at ot.com Tue May 8 17:02:47 2007 From: askolits at ot.com (John Skolits) Date: Tue, 8 May 2007 18:02:47 -0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <00a801c791bc$9d05ca30$0f01a8c0@officexp> Mark, I've been kind-of following this thread and thought I'd share my code with you. It may not help you with what you're doing, but it's a slightly different approach. I use an Excel sheet as a template to do some of my formatting. I open it, use the CopyFromRecordset function to paste the data into Excel, then do a "Save AS". The nice thing about the template is you can make a formatting change to it instead of having to do it in the code. There will probably be some need to still do some vba-code formatting of the spreadsheet, but this can cut down on some of the coding. Note: You can't paste the code below and run it because I cut it up a little to make it more succinct, but it may give you some other ideas. I also have some error trapping codes at the end that may help. John ---- Private Sub btnExportToExcelX() On Error GoTo Err_btnExportToExcel Dim objXLBook As Excel.Workbook Dim rsFinalBidQuery As dao.Recordset, varResults As Variant Dim objXLRange As Excel.Range, objXLApp As Excel.Application Dim objResultsSheet As Excel.Worksheet Dim intMaxCol As Integer Dim intMaxRow As Integer Dim strExportFilename As String, strFullXLTemplateFilename As String strExportFilename =TestWorkbook.xls" strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" Set objXLBook = GetObject(strFullXLTemplateFilename) Set objXLApp = objXLBook.Parent Set objResultsSheet = objXLBook.Worksheets(1) Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") rsFinalBidQuery.MoveLast rsFinalBidQuery.MoveFirst '*Store the data in the worksheet intMaxCol = rsFinalBidQuery.Fields.Count If rsFinalBidQuery.RecordCount > 0 Then intMaxRow = rsFinalBidQuery.RecordCount With objXLApp With objResultsSheet .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + intMaxCol)).CopyFromRecordset rsFinalBidQuery End With End With End If rsFinalBidQuery.Close 'Add some values to specific defined cells objResultsSheet.Range("PartNum").Value = "PN# 1234" objResultsSheet.Range("PartDesc").Value = "Description" objXLBook.Parent.Windows(objXLBook.Name).Visible = True 'Save it as a new name objXLBook.SaveAs strExportFilename objXLApp.Visible = True ' Release the object variable Set objXLBook = Nothing BuildXLBidReport_EXIT: Set rsFinalBidQuery = Nothing DoCmd.Hourglass False DoCmd.Echo True Exit Sub BuildXLBidReport_ERR: 'If user picks to cancel the opening of the worksheet because of the excel macro message this error occurs If Err = 287 Then Resume BuildXLBidReport_EXIT If Err = 70 Then MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't alreday open.", 64, "Excel Sheet Open" Resume BuildXLBidReport_EXIT End If If Err = 1004 Then MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't alreday open.", 64, "Excel Sheet Open" objXLBook.Application.Quit ' Release the object variable Set objXLBook = Nothing Resume BuildXLBidReport_EXIT End If 'Display the error Dim strCallingObject As String strCallingObject = "BuildXLBidReport" & " " & Application.CurrentObjectName & " Line: " & Erl lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) Resume BuildXLBidReport_EXIT Dim oApp As Object Set oApp = CreateObject("Excel.Application") oApp.Visible = True 'Only XL 97 supports UserControl Property On Error Resume Next oApp.UserControl = True Exit_btnExportToExcel: Exit Sub Err_btnExportToExcel: MsgBox Err.Description Resume Exit_btnExportToExcel End Sub From accessd at shaw.ca Tue May 8 17:20:17 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 08 May 2007 15:20:17 -0700 Subject: [AccessD] Redeem your voucher In-Reply-To: <011e01c791b2$32acf370$657aa8c0@m6805> Message-ID: <0JHQ000LLTUKKDX0@l-daemon> Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <001401c791bf$cf81f490$6401a8c0@nant> <<< knowing you'll have to put more time into changing it later. >>> Charlotte, the point is that it's unclear will that "wrong" design be needed to change later. And even if it will be needed to change it it's not necessary it will take more efforts to change this "wrong" design to the "right" one. And even if it will take more efforts customer will be less reluctant to pay for these efforts because he will know for sure (from your simple explanations based on his current real (automated) business facts') he needs these changes now (but he didn't need them yesterday)... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 08, 2007 7:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <29f585dd0705080717l519fc8b8y42ede2fbe7d187da@mail.gmail.com> Message-ID: <001501c791bf$cfe87e90$6401a8c0@nant> Hi Arthur, Using MS SQL on middle-/business tier as a separate physical server instance could be needed for the "heavy" business tasks: e.g. (reporting) stored procedures using large temp tables, cursors, XML etc. (Partially) separating business tier lets to keep data tier working effectively in this case. Middle tier "Miss Middleton" is an abstraction layer. I didn't say in this thread that this "Miss Middleton" should be completely moved to a separate MS SQL Server instance nor did I say developers should program directly against database tables.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 08, 2007 6:17 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable There is no requirement for the middle tier to have a new instance of SQL. In fact I have no idea how you arrived at that thought. The general thinking behind 3-tier architecture is this: 1. client has minimal hardware and minimal installation. Client software has no idea where the database lives, and speaks only to Miss Middleton. 2. Miss Middleton treats all her clients as equally worthless, but does translate their requests into requests from the database, whose address only Miss Middleton knows. 3. The database developers are free to rewite any sprocs and UDFs and views as they please, so long as Miss Middleton is undisturbed. They can even redesign tables, since any good designer forbids direct access to tables. So middle-tier Miss Middleton controls every access to every table, whether it be through a sproc or udf or view or materialized view. Arthur On 5/8/07, Gustav Brock wrote: > > Hi Shamil > > I must believe you here as I haven't done much programming in SQL Server > and you have so much more experience in this area. > However, to me a middle-tier can be made from anything that fits the > purpose, and if that calls for another instance of SQL Server, that's fine > with me. Actually, it sounds like it could be a very clever solution. > > /gustav > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <001601c791bf$d01cd500$6401a8c0@nant> Hi Gustav, Yes, middle/business tier can be done from anything that fits the purpose - and here I'd try to use MS SQL middle-tier/business server first of all to see how good/bad it fits this purpose, if it doesn't fit the purpose well then I'd use other MS development tools s Visual Studio... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 5:55 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil I must believe you here as I haven't done much programming in SQL Server and you have so much more experience in this area. However, to me a middle-tier can be made from anything that fits the purpose, and if that calls for another instance of SQL Server, that's fine with me. Actually, it sounds like it could be a very clever solution. /gustav >>> shamil at users.mns.ru 08-05-2007 12:34 >>> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Tue May 8 17:48:25 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 15:48:25 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <001401c791bf$cf81f490$6401a8c0@nant> References: <001401c791bf$cf81f490$6401a8c0@nant> Message-ID: Shamil, We'll have to agree to disagree on this. I understand what you're saying and I've read books on RAD and agile development. My experience tells me that clients get more, not less demanding, the faster you get them an application, and the changes so blithely dismissed as "no problem" become big problems if you didn't plan for them. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 3:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< knowing you'll have to put more time into changing it later. >>> Charlotte, the point is that it's unclear will that "wrong" design be needed to change later. And even if it will be needed to change it it's not necessary it will take more efforts to change this "wrong" design to the "right" one. And even if it will take more efforts customer will be less reluctant to pay for these efforts because he will know for sure (from your simple explanations based on his current real (automated) business facts') he needs these changes now (but he didn't need them yesterday)... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 08, 2007 7:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Tue May 8 19:21:17 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 20:21:17 -0400 Subject: [AccessD] Interesting for you kung fu masters? Message-ID: <000201c791cf$f7351f20$657aa8c0@m6805> www.sql-server-performance.com/vg_database_comparison_sp.asp John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Tue May 8 19:37:43 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 08 May 2007 17:37:43 -0700 Subject: [AccessD] Interesting for you kung fu masters? In-Reply-To: <000201c791cf$f7351f20$657aa8c0@m6805> Message-ID: <0JHR0060H07KFFE0@l-daemon> This is similar to the Backend-Upgrader at the DBA site (http://www.databaseadvisors.com/downloads.asp) but works for MS SQL server instead of MS Access. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:21 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] Interesting for you kung fu masters? www.sql-server-performance.com/vg_database_comparison_sp.asp John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kismert at gmail.com Tue May 8 19:47:15 2007 From: kismert at gmail.com (Kenneth Ismert) Date: Tue, 8 May 2007 19:47:15 -0500 Subject: [AccessD] Lazy,or Agile: that is the question... Message-ID: <7c7841600705081747v6b1cc445pdd56bd1f243384b2@mail.gmail.com> A good idea, poorly implemented, will often beat out a bad idea, properly implemented. Things can be badly done, even shockingly so, and still work. We've all seen Access applications that exemplify this. Take MySpace.com. It started out as a LAMP solution, but went through 6 major rewrites to become a ASP.NET/SQL Server 2005 solution. Now was the data on the MySpaces' initial LAMP solution properly normalized? Very likely so. In fact, intermediate iterations of the site intentionally de-normalized data in an attempt to gain performance. This worked to a point, but the problems that caused a shift back to a much more sophisticated normalization in their latest versions. Would MySpace have succeeded if they went for Version 6 right out of the gate? No. They would have run out of money first. Besides, Version 6 was only possible due to the insights gained from Versions 1-5. Would MySpace have succeeded if they took foolish shortcuts? Probably not. MySpace worked because of top-notch computer science. They had too many real problems to deal with to afford to make extra ones on their own. I think the point of Agile Development is: you don't know the road ahead. Implement the next step as competently and quickly as you can. Don't create unnecessary baggage, it will only slow you down. Use the insights gained on your previous step to better plan your next. -Ken From kismert at gmail.com Tue May 8 19:53:46 2007 From: kismert at gmail.com (Kenneth Ismert) Date: Tue, 8 May 2007 19:53:46 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <7c7841600705081753q753476cfhffd320c8b1237c7f@mail.gmail.com> SQL Server can't cast a boolean expression into a boolean type. That's because SQL Server doesn't really have a boolean data type (at least as of SQL 2000). Use a case statement, and return 1 for True, and 0 for False: CASE WHEN SomeField <=10 THEN 1 ELSE 0 END As MyAlias -Ken > In Access you can do something like: > > MyAlias: [SomeField] <=10 > > Which translates into SQL that looks like: > > [SomeField]<=10 as MyAlias > > When I try move that (cut and paste) from Access into SQL Server I get a the > infamous "syntax error somewhere near <" > > Question 1: What is wrong with that in SQL Server > Question 2: How do I accomplish this directly in the query builder in SQL > Server? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From shamil at users.mns.ru Wed May 9 03:24:15 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 12:24:15 +0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <001201c79213$6e3eecc0$6401a8c0@nant> Hello Mark, Below is the first version of function to merge workbooks (watch line wraps!). Enhancements to this code might follow today/tomorrow... Sample call: ============ MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" Code: ===== Public Function MergeWorkbooks( _ ByRef rxlApp As Object, _ ByVal vstrSummaryWbkFileName As String, _ ByVal vstrFolder As String, _ ParamArray avar() As Variant) As Boolean ' This function merges *FIRST* worksheet of every ' workbook, which filename is specified in ' avar() ParamArray and which are located in ' vstrFolder folder. ' Merged workbook is saved into the folder of the ' source workbooks vstrFolder and this merged ' workbook gets the filename vstrSummaryWbkFileName On Error GoTo HandleErr Dim wbk As Excel.Workbook Dim wbkImp As Excel.Workbook Dim impWbkFullPath As String Dim mergeWbkFullPath As String Dim evar As Variant Dim i As Integer ' Check that source workbooks list is not empty If UBound(avar) = -1 Then Err.Raise vbObjectError + 1, "MergeWorkbooks", _ "The list of workbooks to merge is empty." End If ' If absent add backslash to folder name If Len(vstrFolder) > 0 Then If Right(vstrFolder, 1) <> "\" Then _ vstrFolder = vstrFolder & "\" End If ' Create new workbook Set wbk = rxlApp.Workbooks.Add ' Delete all but the first worksheet in this new workbook For i = wbk.Worksheets.Count To 2 Step -1 rxlApp.DisplayAlerts = False wbk.Worksheets(i).Delete rxlApp.DisplayAlerts = True Next i i = 1 ' Merge source workbooks into summary workbook For Each evar In avar impWbkFullPath = vstrFolder & CStr(evar) Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) wbkImp.Worksheets(1).Cells.Copy If wbk.Worksheets.Count < i Then _ wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) wbk.Worksheets(i).Activate wbk.Worksheets(i).Paste wbk.Worksheets(i).Cells(1, 1).Select rxlApp.DisplayAlerts = False wbkImp.Close rxlApp.DisplayAlerts = True i = i + 1 Next evar wbk.Worksheets(1).Activate mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName ' Delete merged workbook if it already exists If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ Kill mergeWbkFullPath ' Save merged workbook wbk.SaveAs mergeWbkFullPath MergeWorkbooks = True HandleExit: Exit Function HandleErr: MergeWorkbooks = False MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description Resume HandleExit End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 12:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks Michael, I actually got the formatting like I needed. I'm just having issues getting the worksheets into 1 workbook. Thanks, Mark A. Matte >From: "Michael R Mattys" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 13:58:26 -0400 > >Mark, > >You could put most of your formatting in an xlt, but it's going >to take a bit of fancy automation to replicate your report. > >Michael R. Mattys >MapPoint & Access Dev >www.mattysconsulting.com > >----- Original Message ----- >From: "Mark A Matte" >To: >Sent: Tuesday, May 08, 2007 12:55 PM >Subject: Re: [AccessD] Report to Excel_ > > > > Thanks Jim, > > > > I need to export a report because of the conditional formatting. > > TransferSpreadsheet won't work with reports. > > > > Any thoughts? > > > > Thanks, > > > > Mark A. Matte > > > > > >>From: "Jim Hewson" > >>Reply-To: Access Developers discussion and problem > >>solving > >>To: "Access Developers discussion and problem > >>solving" > >>Subject: Re: [AccessD] Report to Excel > >>Date: Mon, 7 May 2007 16:27:24 -0500 > >> > >>Mark, > >>I do this frequently. In one export I end up with 15 worksheets and > >>manipulate the date in Excel via Access. > >> > >>I would use TransferSpreadsheet instead of what you have. > >>Also, put Set appExcel = New Excel.Application before the > >>TransferSpreadsheet command. > >> > >>If you use something like: > >> > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >> > >>It will export to separate spreadsheets. > >> > >>HTH > >> > >>Jim > >>jhewson at karta.com > >> > >> > >>-----Original Message----- > >>From: accessd-bounces at databaseadvisors.com > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >>Sent: Monday, May 07, 2007 4:00 PM > >>To: accessd at databaseadvisors.com > >>Subject: [AccessD] Report to Excel > >> > >>Hello All, > >> > >>I found the code below in the archives from Jim Hale...Anyway to use >this > >>approach but to have 2 reports go to the same workbook...just different > >>tabs? > >> > >>Thanks, > >> > >>Mark A. Matte > >> > >>*********Code From Jim**************** > >>Sub rpt_to_excel() > >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew > >>As String, strReport As String > >> > >>strpathname = "C:\test.xls" > >>strpathnew = "C:\test2.xls" > >>strReport = "rptInvsummary" > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >> > >>Set appExcel = New Excel.Application > >> > >>'format your report > >> With appExcel > >> .Workbooks.Open strpathname, 0 > >> .Visible = True 'just to watch the sheet > >> .Range("A1:G1").Select > >> .Selection.Font.Bold = True > >> .Selection.Font.Name = "Arial" > >> .Selection.Font.Size = 12 > >> .ActiveWorkbook.SaveAs >Filename:=strpathnew,FileFormat:=xlNormal > >> End With > >> appExcel.Quit > >> Set appExcel = Nothing > >>End Sub > >> > >>_________________________________________________________________ > >>Download Messenger. Join the i'm Initiative. Help make a difference >today. > >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > >> > >> > >>-- > >>AccessD mailing list > >>AccessD at databaseadvisors.com > >>http://databaseadvisors.com/mailman/listinfo/accessd > >>Website: http://www.databaseadvisors.com > > > > _________________________________________________________________ > > Make every IM count. Download Messenger and join the i'm Initiative now. > > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > > > > > >--------------------------------------------------------------------------- ----- > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storageget 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_2G_0507 From Gustav at cactus.dk Wed May 9 05:36:00 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 09 May 2007 12:36:00 +0200 Subject: [AccessD] Lazy,or Agile: that is the question... Message-ID: Hi Ken and Shamil My problem is that I don't need to label this "agile". Isn't it what most of us just call common sense? So, am I an agile Access developer? Would love that: G. Brock Agile AD That could compete with Arthur's "SQL Sensei" which sounds a bit grey-haired (which I, by the way, am). Oh! It isn't Friday yet? /gustav >>> kismert at gmail.com 09-05-2007 02:47 >>> I think the point of Agile Development is: you don't know the road ahead. Implement the next step as competently and quickly as you can. Don't create unnecessary baggage, it will only slow you down. Use the insights gained on your previous step to better plan your next. -Ken From lmrazek at lcm-res.com Wed May 9 09:23:07 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 9 May 2007 09:23:07 -0500 Subject: [AccessD] Stupid Report Question In-Reply-To: <001201c79213$6e3eecc0$6401a8c0@nant> References: <001201c79213$6e3eecc0$6401a8c0@nant> Message-ID: <003101c79245$90cfba80$046fa8c0@lcmdv8000> Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From markamatte at hotmail.com Wed May 9 09:26:12 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 14:26:12 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <00a801c791bc$9d05ca30$0f01a8c0@officexp> Message-ID: Thanks John, I got the formatting the way I needed it...I used the report to determine what order the columns would be in...and then changed the font,color,etc in excel. Now I just need to get the sheets into a single workbook. Thanks, Mark >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 18:02:47 -0400 > >Mark, > >I've been kind-of following this thread and thought I'd share my code with >you. >It may not help you with what you're doing, but it's a slightly different >approach. >I use an Excel sheet as a template to do some of my formatting. I open it, >use the CopyFromRecordset function to paste the data into Excel, then do a >"Save AS". The nice thing about the template is you can make a formatting >change to it instead of having to do it in the code. There will probably be >some need to still do some vba-code formatting of the spreadsheet, but this >can cut down on some of the coding. > >Note: You can't paste the code below and run it because I cut it up a >little >to make it more succinct, but it may give you some other ideas. I also have >some error trapping codes at the end that may help. > >John >---- > > >Private Sub btnExportToExcelX() > >On Error GoTo Err_btnExportToExcel > >Dim objXLBook As Excel.Workbook >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >Dim objResultsSheet As Excel.Worksheet >Dim intMaxCol As Integer >Dim intMaxRow As Integer >Dim strExportFilename As String, strFullXLTemplateFilename As String > >strExportFilename =TestWorkbook.xls" >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > >Set objXLBook = GetObject(strFullXLTemplateFilename) >Set objXLApp = objXLBook.Parent >Set objResultsSheet = objXLBook.Worksheets(1) > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > rsFinalBidQuery.MoveLast > rsFinalBidQuery.MoveFirst > > '*Store the data in the worksheet > intMaxCol = rsFinalBidQuery.Fields.Count > If rsFinalBidQuery.RecordCount > 0 Then > intMaxRow = rsFinalBidQuery.RecordCount > With objXLApp > With objResultsSheet > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >intMaxCol)).CopyFromRecordset rsFinalBidQuery > End With > End With > End If > >rsFinalBidQuery.Close > >'Add some values to specific defined cells >objResultsSheet.Range("PartNum").Value = "PN# 1234" >objResultsSheet.Range("PartDesc").Value = "Description" > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > >'Save it as a new name >objXLBook.SaveAs strExportFilename >objXLApp.Visible = True > >' Release the object variable >Set objXLBook = Nothing > >BuildXLBidReport_EXIT: >Set rsFinalBidQuery = Nothing > >DoCmd.Hourglass False >DoCmd.Echo True > >Exit Sub > >BuildXLBidReport_ERR: > >'If user picks to cancel the opening of the worksheet because of the excel >macro message this error occurs >If Err = 287 Then Resume BuildXLBidReport_EXIT > >If Err = 70 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > Resume BuildXLBidReport_EXIT >End If >If Err = 1004 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > objXLBook.Application.Quit > ' Release the object variable > Set objXLBook = Nothing > Resume BuildXLBidReport_EXIT >End If > >'Display the error > > Dim strCallingObject As String > strCallingObject = "BuildXLBidReport" & " " & >Application.CurrentObjectName & " Line: " & Erl > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > Resume BuildXLBidReport_EXIT > > Dim oApp As Object > > Set oApp = CreateObject("Excel.Application") > oApp.Visible = True > 'Only XL 97 supports UserControl Property > On Error Resume Next > oApp.UserControl = True > >Exit_btnExportToExcel: > Exit Sub > >Err_btnExportToExcel: > MsgBox Err.Description > Resume Exit_btnExportToExcel > >End Sub > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From ssharkins at setel.com Wed May 9 09:34:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 10:34:58 -0400 Subject: [AccessD] Stupid Report Question In-Reply-To: <003101c79245$90cfba80$046fa8c0@lcmdv8000> References: <001201c79213$6e3eecc0$6401a8c0@nant> <003101c79245$90cfba80$046fa8c0@lcmdv8000> Message-ID: <001901c79247$39159ec0$1ebc2ad1@SusanOne> The label wizard allows you to create a custom label, have you tried that? Susan H. Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... From markamatte at hotmail.com Wed May 9 09:37:18 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 14:37:18 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <001201c79213$6e3eecc0$6401a8c0@nant> Message-ID: Thanks Shamil, The sample call failed...because variable not defined"xlApp". Do I Dim it as excel.application? Thanks, Mark A. Matte P.S...They are using office97. >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 12:24:15 +0400 > >Hello Mark, > >Below is the first version of function to merge workbooks (watch line >wraps!). > >Enhancements to this code might follow today/tomorrow... > >Sample call: >============ >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > >Code: >===== > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Excel.Workbook >Dim wbkImp As Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.Worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.Worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.Worksheets(1).Cells.Copy > If wbk.Worksheets.Count < i Then _ > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > wbk.Worksheets(i).Activate > wbk.Worksheets(i).Paste > wbk.Worksheets(i).Cells(1, 1).Select > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.Worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit >End Function > > >-- >Shamil > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 12:53 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Michael, > >I actually got the formatting like I needed. I'm just having issues >getting > >the worksheets into 1 workbook. > >Thanks, > >Mark A. Matte > > > >From: "Michael R Mattys" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > >Mark, > > > >You could put most of your formatting in an xlt, but it's going > >to take a bit of fancy automation to replicate your report. > > > >Michael R. Mattys > >MapPoint & Access Dev > >www.mattysconsulting.com > > > >----- Original Message ----- > >From: "Mark A Matte" > >To: > >Sent: Tuesday, May 08, 2007 12:55 PM > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > Thanks Jim, > > > > > > I need to export a report because of the conditional formatting. > > > TransferSpreadsheet won't work with reports. > > > > > > Any thoughts? > > > > > > Thanks, > > > > > > Mark A. Matte > > > > > > > > >>From: "Jim Hewson" > > >>Reply-To: Access Developers discussion and problem > > >>solving > > >>To: "Access Developers discussion and problem > > >>solving" > > >>Subject: Re: [AccessD] Report to Excel > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > >> > > >>Mark, > > >>I do this frequently. In one export I end up with 15 worksheets and > > >>manipulate the date in Excel via Access. > > >> > > >>I would use TransferSpreadsheet instead of what you have. > > >>Also, put Set appExcel = New Excel.Application before the > > >>TransferSpreadsheet command. > > >> > > >>If you use something like: > > >> > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, >True > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, >True > > >> > > >>It will export to separate spreadsheets. > > >> > > >>HTH > > >> > > >>Jim > > >>jhewson at karta.com > > >> > > >> > > >>-----Original Message----- > > >>From: accessd-bounces at databaseadvisors.com > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A >Matte > > >>Sent: Monday, May 07, 2007 4:00 PM > > >>To: accessd at databaseadvisors.com > > >>Subject: [AccessD] Report to Excel > > >> > > >>Hello All, > > >> > > >>I found the code below in the archives from Jim Hale...Anyway to use > >this > > >>approach but to have 2 reports go to the same workbook...just >different > > >>tabs? > > >> > > >>Thanks, > > >> > > >>Mark A. Matte > > >> > > >>*********Code From Jim**************** > > >>Sub rpt_to_excel() > > >>Dim appExcel As Excel.Application, strpathname As String Dim >strpathnew > > >>As String, strReport As String > > >> > > >>strpathname = "C:\test.xls" > > >>strpathnew = "C:\test2.xls" > > >>strReport = "rptInvsummary" > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > >> > > >>Set appExcel = New Excel.Application > > >> > > >>'format your report > > >> With appExcel > > >> .Workbooks.Open strpathname, 0 > > >> .Visible = True 'just to watch the sheet > > >> .Range("A1:G1").Select > > >> .Selection.Font.Bold = True > > >> .Selection.Font.Name = "Arial" > > >> .Selection.Font.Size = 12 > > >> .ActiveWorkbook.SaveAs > >Filename:=strpathnew,FileFormat:=xlNormal > > >> End With > > >> appExcel.Quit > > >> Set appExcel = Nothing > > >>End Sub > > >> _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From shamil at users.mns.ru Wed May 9 10:15:49 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 19:15:49 +0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <000c01c7924c$ed5551f0$6401a8c0@nant> Hi Mark, Here is the code to call from MS Access, which shouldn't fail (watch line wraps!): Option Explicit Public Sub TestXLMerge() Dim strPathName As String Dim strReport As String Dim xlApp As Object 'Excel.Application strPathName = AppPath & "test01.xls" strReport = "rptInvSummary" Access.Application.DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strPathName strPathName = AppPath & "test02.xls" strReport = "rptInvNewSummary" Access.Application.DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strPathName Set xlApp = CreateObject("Excel.Application") MergeWorkbooks xlApp, "MergedBooks.xls", AppPath, "test01.xls", "test02.xls" xlApp.Quit Set xlApp = Nothing End Sub Public Function MergeWorkbooks( _ ByRef rxlApp As Object, _ ByVal vstrSummaryWbkFileName As String, _ ByVal vstrFolder As String, _ ParamArray avar() As Variant) As Boolean ' This function merges *FIRST* worksheet of every ' workbook, which filename is specified in ' avar() ParamArray and which are located in ' vstrFolder folder. ' Merged workbook is saved into the folder of the ' source workbooks vstrFolder and this merged ' workbook gets the filename vstrSummaryWbkFileName On Error GoTo HandleErr Dim wbk As Object 'Excel.Workbook Dim wbkImp As Object 'Excel.Workbook Dim impWbkFullPath As String Dim mergeWbkFullPath As String Dim evar As Variant Dim i As Integer ' Check that source workbooks list is not empty If UBound(avar) = -1 Then Err.Raise vbObjectError + 1, "MergeWorkbooks", _ "The list of workbooks to merge is empty." End If ' If absent add backslash to folder name If Len(vstrFolder) > 0 Then If Right(vstrFolder, 1) <> "\" Then _ vstrFolder = vstrFolder & "\" End If ' Create new workbook Set wbk = rxlApp.Workbooks.Add ' Delete all but the first worksheet in this new workbook For i = wbk.worksheets.Count To 2 Step -1 rxlApp.DisplayAlerts = False wbk.worksheets(i).Delete rxlApp.DisplayAlerts = True Next i i = 1 ' Merge source workbooks into summary workbook For Each evar In avar impWbkFullPath = vstrFolder & CStr(evar) Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) wbkImp.worksheets(1).Cells.Copy If wbk.worksheets.Count < i Then _ wbk.worksheets.Add After:=wbk.worksheets(i - 1) wbk.worksheets(i).Activate wbk.worksheets(i).Paste wbk.worksheets(i).Cells(1, 1).Select wbk.worksheets(i).Name = getUniqueName(wbkImp, 1, wbk) rxlApp.DisplayAlerts = False wbkImp.Close rxlApp.DisplayAlerts = True i = i + 1 Next evar wbk.worksheets(1).Activate mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName ' Delete merged workbook if it already exists If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ Kill mergeWbkFullPath ' Save merged workbook wbk.SaveAs mergeWbkFullPath ' Close workbook wbk.Close SaveChanges:=False Set wbk = Nothing MergeWorkbooks = True HandleExit: Exit Function HandleErr: MergeWorkbooks = False MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description Resume HandleExit Resume End Function Private Property Get AppPath() As String AppPath = Access.Application.CurrentProject.Path & "\" End Property Private Function getUniqueName( _ ByRef rwbkImp As Object, _ ByVal impWbkWksIndex As Integer, _ ByVal rwbkDst As Object) _ As String On Error Resume Next Dim strWksName As String Dim wks As Object Dim i As Integer strWksName = rwbkImp.worksheets(impWbkWksIndex).Name Set wks = rwbkDst.worksheets(strWksName) If wks Is Nothing Then getUniqueName = strWksName Exit Function End If i = 1 Do Set wks = rwbkDst.worksheets(strWksName & "_" & CStr(i)) Loop Until Not wks Is Null getUniqueName = strWksName & "_" & CStr(i) End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 6:37 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks Shamil, The sample call failed...because variable not defined"xlApp". Do I Dim it as excel.application? Thanks, Mark A. Matte P.S...They are using office97. >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 12:24:15 +0400 > >Hello Mark, > >Below is the first version of function to merge workbooks (watch line >wraps!). > >Enhancements to this code might follow today/tomorrow... > >Sample call: >============ >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > >Code: >===== > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Excel.Workbook >Dim wbkImp As Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.Worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.Worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.Worksheets(1).Cells.Copy > If wbk.Worksheets.Count < i Then _ > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > wbk.Worksheets(i).Activate > wbk.Worksheets(i).Paste > wbk.Worksheets(i).Cells(1, 1).Select > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.Worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit >End Function > > >-- >Shamil > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 12:53 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Michael, > >I actually got the formatting like I needed. I'm just having issues >getting > >the worksheets into 1 workbook. > >Thanks, > >Mark A. Matte > > > >From: "Michael R Mattys" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > >Mark, > > > >You could put most of your formatting in an xlt, but it's going > >to take a bit of fancy automation to replicate your report. > > > >Michael R. Mattys > >MapPoint & Access Dev > >www.mattysconsulting.com > > > >----- Original Message ----- > >From: "Mark A Matte" > >To: > >Sent: Tuesday, May 08, 2007 12:55 PM > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > Thanks Jim, > > > > > > I need to export a report because of the conditional formatting. > > > TransferSpreadsheet won't work with reports. > > > > > > Any thoughts? > > > > > > Thanks, > > > > > > Mark A. Matte > > > > > > > > >>From: "Jim Hewson" > > >>Reply-To: Access Developers discussion and problem > > >>solving > > >>To: "Access Developers discussion and problem > > >>solving" > > >>Subject: Re: [AccessD] Report to Excel > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > >> > > >>Mark, > > >>I do this frequently. In one export I end up with 15 worksheets and > > >>manipulate the date in Excel via Access. > > >> > > >>I would use TransferSpreadsheet instead of what you have. > > >>Also, put Set appExcel = New Excel.Application before the > > >>TransferSpreadsheet command. > > >> > > >>If you use something like: > > >> > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, >True > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, >True > > >> > > >>It will export to separate spreadsheets. > > >> > > >>HTH > > >> > > >>Jim > > >>jhewson at karta.com > > >> > > >> > > >>-----Original Message----- > > >>From: accessd-bounces at databaseadvisors.com > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A >Matte > > >>Sent: Monday, May 07, 2007 4:00 PM > > >>To: accessd at databaseadvisors.com > > >>Subject: [AccessD] Report to Excel > > >> > > >>Hello All, > > >> > > >>I found the code below in the archives from Jim Hale...Anyway to use > >this > > >>approach but to have 2 reports go to the same workbook...just >different > > >>tabs? > > >> > > >>Thanks, > > >> > > >>Mark A. Matte > > >> > > >>*********Code From Jim**************** > > >>Sub rpt_to_excel() > > >>Dim appExcel As Excel.Application, strpathname As String Dim >strpathnew > > >>As String, strReport As String > > >> > > >>strpathname = "C:\test.xls" > > >>strpathnew = "C:\test2.xls" > > >>strReport = "rptInvsummary" > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > >> > > >>Set appExcel = New Excel.Application > > >> > > >>'format your report > > >> With appExcel > > >> .Workbooks.Open strpathname, 0 > > >> .Visible = True 'just to watch the sheet > > >> .Range("A1:G1").Select > > >> .Selection.Font.Bold = True > > >> .Selection.Font.Name = "Arial" > > >> .Selection.Font.Size = 12 > > >> .ActiveWorkbook.SaveAs > >Filename:=strpathnew,FileFormat:=xlNormal > > >> End With > > >> appExcel.Quit > > >> Set appExcel = Nothing > > >>End Sub > > >> _________________________________________________________________ PC Magazines 2007 editors choice for best Web mailaward-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_pcmag_0507 From markamatte at hotmail.com Wed May 9 10:29:52 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 15:29:52 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <000c01c7924c$ed5551f0$6401a8c0@nant> Message-ID: Thanks Shamil, I was just about to email you back. I added a few lines to what you first sent and it worked like a charm. Adding to the call: Dim xlApp As Excel.Application MergeWorkbooks xlApp, "MergedBooks.xls", "C:\", "test.xls", "test1.xls" Adding to the code: ' Create new workbook Set rxlApp = New Excel.Application Also, to release the merged file: rxlApp.Quit And finally to rename the sheets: wbk.Worksheets(i).Name = Left(evar, InStr(1, evar, ".", vbTextCompare) - 1) Thank you very much. This is just what I needed. Mark A. Matte >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 19:15:49 +0400 > >Hi Mark, > >Here is the code to call from MS Access, which shouldn't fail (watch line >wraps!): > >Option Explicit > >Public Sub TestXLMerge() >Dim strPathName As String >Dim strReport As String >Dim xlApp As Object 'Excel.Application > > strPathName = AppPath & "test01.xls" > strReport = "rptInvSummary" > Access.Application.DoCmd.OutputTo acOutputReport, strReport, >acFormatXLS, strPathName > > strPathName = AppPath & "test02.xls" > strReport = "rptInvNewSummary" > Access.Application.DoCmd.OutputTo acOutputReport, strReport, >acFormatXLS, strPathName > > Set xlApp = CreateObject("Excel.Application") > MergeWorkbooks xlApp, "MergedBooks.xls", AppPath, "test01.xls", >"test02.xls" > xlApp.Quit > Set xlApp = Nothing >End Sub > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Object 'Excel.Workbook >Dim wbkImp As Object 'Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.worksheets(1).Cells.Copy > If wbk.worksheets.Count < i Then _ > wbk.worksheets.Add After:=wbk.worksheets(i - 1) > wbk.worksheets(i).Activate > wbk.worksheets(i).Paste > wbk.worksheets(i).Cells(1, 1).Select > wbk.worksheets(i).Name = getUniqueName(wbkImp, 1, wbk) > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > ' Close workbook > wbk.Close SaveChanges:=False > Set wbk = Nothing > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit > Resume >End Function > >Private Property Get AppPath() As String > AppPath = Access.Application.CurrentProject.Path & "\" >End Property > >Private Function getUniqueName( _ > ByRef rwbkImp As Object, _ > ByVal impWbkWksIndex As Integer, _ > ByVal rwbkDst As Object) _ > As String >On Error Resume Next >Dim strWksName As String >Dim wks As Object >Dim i As Integer > strWksName = rwbkImp.worksheets(impWbkWksIndex).Name > Set wks = rwbkDst.worksheets(strWksName) > If wks Is Nothing Then > getUniqueName = strWksName > Exit Function > End If > i = 1 > Do > Set wks = rwbkDst.worksheets(strWksName & "_" & CStr(i)) > Loop Until Not wks Is Null > getUniqueName = strWksName & "_" & CStr(i) >End Function > > >-- >Shamil > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 6:37 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Shamil, > >The sample call failed...because variable not defined"xlApp". Do I Dim it >as excel.application? > >Thanks, > >Mark A. Matte > >P.S...They are using office97. > > > >From: "Shamil Salakhetdinov" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Wed, 9 May 2007 12:24:15 +0400 > > > >Hello Mark, > > > >Below is the first version of function to merge workbooks (watch line > >wraps!). > > > >Enhancements to this code might follow today/tomorrow... > > > >Sample call: > >============ > >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > > > >Code: > >===== > > > >Public Function MergeWorkbooks( _ > > ByRef rxlApp As Object, _ > > ByVal vstrSummaryWbkFileName As String, _ > > ByVal vstrFolder As String, _ > > ParamArray avar() As Variant) As Boolean > >' This function merges *FIRST* worksheet of every > >' workbook, which filename is specified in > >' avar() ParamArray and which are located in > >' vstrFolder folder. > >' Merged workbook is saved into the folder of the > >' source workbooks vstrFolder and this merged > >' workbook gets the filename vstrSummaryWbkFileName > >On Error GoTo HandleErr > >Dim wbk As Excel.Workbook > >Dim wbkImp As Excel.Workbook > >Dim impWbkFullPath As String > >Dim mergeWbkFullPath As String > >Dim evar As Variant > >Dim i As Integer > > ' Check that source workbooks list is not empty > > If UBound(avar) = -1 Then > > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > > "The list of workbooks to merge is empty." > > End If > > ' If absent add backslash to folder name > > If Len(vstrFolder) > 0 Then > > If Right(vstrFolder, 1) <> "\" Then _ > > vstrFolder = vstrFolder & "\" > > End If > > ' Create new workbook > > Set wbk = rxlApp.Workbooks.Add > > ' Delete all but the first worksheet in this new workbook > > For i = wbk.Worksheets.Count To 2 Step -1 > > rxlApp.DisplayAlerts = False > > wbk.Worksheets(i).Delete > > rxlApp.DisplayAlerts = True > > Next i > > i = 1 > > ' Merge source workbooks into summary workbook > > For Each evar In avar > > impWbkFullPath = vstrFolder & CStr(evar) > > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > > wbkImp.Worksheets(1).Cells.Copy > > If wbk.Worksheets.Count < i Then _ > > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > > wbk.Worksheets(i).Activate > > wbk.Worksheets(i).Paste > > wbk.Worksheets(i).Cells(1, 1).Select > > rxlApp.DisplayAlerts = False > > wbkImp.Close > > rxlApp.DisplayAlerts = True > > i = i + 1 > > Next evar > > wbk.Worksheets(1).Activate > > > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > > ' Delete merged workbook if it already exists > > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > > Kill mergeWbkFullPath > > ' Save merged workbook > > wbk.SaveAs mergeWbkFullPath > > > > MergeWorkbooks = True > >HandleExit: > > Exit Function > >HandleErr: > > MergeWorkbooks = False > > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & >Err.Description > > Resume HandleExit > >End Function > > > > > >-- > >Shamil > > > > > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Wednesday, May 09, 2007 12:53 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Report to Excel_ > > > >Thanks Michael, > > > >I actually got the formatting like I needed. I'm just having issues > >getting > > > >the worksheets into 1 workbook. > > > >Thanks, > > > >Mark A. Matte > > > > > > >From: "Michael R Mattys" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "Access Developers discussion and problem > > >solving" > > >Subject: Re: [AccessD] Report to Excel_ > > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > > > >Mark, > > > > > >You could put most of your formatting in an xlt, but it's going > > >to take a bit of fancy automation to replicate your report. > > > > > >Michael R. Mattys > > >MapPoint & Access Dev > > >www.mattysconsulting.com > > > > > >----- Original Message ----- > > >From: "Mark A Matte" > > >To: > > >Sent: Tuesday, May 08, 2007 12:55 PM > > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > > > > Thanks Jim, > > > > > > > > I need to export a report because of the conditional formatting. > > > > TransferSpreadsheet won't work with reports. > > > > > > > > Any thoughts? > > > > > > > > Thanks, > > > > > > > > Mark A. Matte > > > > > > > > > > > >>From: "Jim Hewson" > > > >>Reply-To: Access Developers discussion and problem > > > >>solving > > > >>To: "Access Developers discussion and problem > > > >>solving" > > > >>Subject: Re: [AccessD] Report to Excel > > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > > >> > > > >>Mark, > > > >>I do this frequently. In one export I end up with 15 worksheets and > > > >>manipulate the date in Excel via Access. > > > >> > > > >>I would use TransferSpreadsheet instead of what you have. > > > >>Also, put Set appExcel = New Excel.Application before the > > > >>TransferSpreadsheet command. > > > >> > > > >>If you use something like: > > > >> > > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, > >True > > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, > >True > > > >> > > > >>It will export to separate spreadsheets. > > > >> > > > >>HTH > > > >> > > > >>Jim > > > >>jhewson at karta.com > > > >> > > > >> > > > >>-----Original Message----- > > > >>From: accessd-bounces at databaseadvisors.com > > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A > >Matte > > > >>Sent: Monday, May 07, 2007 4:00 PM > > > >>To: accessd at databaseadvisors.com > > > >>Subject: [AccessD] Report to Excel > > > >> > > > >>Hello All, > > > >> > > > >>I found the code below in the archives from Jim Hale...Anyway to use > > >this > > > >>approach but to have 2 reports go to the same workbook...just > >different > > > >>tabs? > > > >> > > > >>Thanks, > > > >> > > > >>Mark A. Matte > > > >> > > > >>*********Code From Jim**************** > > > >>Sub rpt_to_excel() > > > >>Dim appExcel As Excel.Application, strpathname As String Dim > >strpathnew > > > >>As String, strReport As String > > > >> > > > >>strpathname = "C:\test.xls" > > > >>strpathnew = "C:\test2.xls" > > > >>strReport = "rptInvsummary" > > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > > >> > > > >>Set appExcel = New Excel.Application > > > >> > > > >>'format your report > > > >> With appExcel > > > >> .Workbooks.Open strpathname, 0 > > > >> .Visible = True 'just to watch the sheet > > > >> .Range("A1:G1").Select > > > >> .Selection.Font.Bold = True > > > >> .Selection.Font.Name = "Arial" > > > >> .Selection.Font.Size = 12 > > > >> .ActiveWorkbook.SaveAs > > >Filename:=strpathnew,FileFormat:=xlNormal > > > >> End With > > > >> appExcel.Quit > > > >> Set appExcel = Nothing > > > >>End Sub > > > >> > >_________________________________________________________________ >PC Magazines 2007 editors choice for best Web mailaward-winning Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_pcmag_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From Jim.Hale at FleetPride.com Wed May 9 10:37:57 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 10:37:57 -0500 Subject: [AccessD] Redeem your voucher Message-ID: Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From markamatte at hotmail.com Wed May 9 10:48:31 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 15:48:31 +0000 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: Hello All, With my lst excel issue...I needed to extract a file name in A97 from a path. The InstrRev function would have been handy. And I found that someone had written it. Seemed very useful...so I thought I'd share. Thanks, Mark A. Matte http://www.tek-tips.com/faqs.cfm?fid=4342 _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Wed May 9 10:55:14 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 11:55:14 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <002c01c79252$6f612700$657aa8c0@m6805> I cut and pasted the number in from their email to me. I am reasonably certain that their issue is that I do not input my username / password, they do, and it is locked. They probably have bad data in those fields and so it will not accept it back. Just my guess. There are only three fields "to be filled in" and I only get to enter data in one. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 9 10:59:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 11:59:29 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <003301c79253$074016d0$657aa8c0@m6805> It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 9 11:26:10 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 9 May 2007 11:26:10 -0500 Subject: [AccessD] Stupid Report Question In-Reply-To: <001901c79247$39159ec0$1ebc2ad1@SusanOne> References: <001201c79213$6e3eecc0$6401a8c0@nant><003101c79245$90cfba80$046fa8c0@lcmdv8000> <001901c79247$39159ec0$1ebc2ad1@SusanOne> Message-ID: <007001c79256$c1b5fa40$046fa8c0@lcmdv8000> Sigh. Thanks Susan. We'll see if my report format works on the Printtronix label printer! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 09, 2007 9:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Stupid Report Question The label wizard allows you to create a custom label, have you tried that? Susan H. Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Wed May 9 11:39:47 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Wed, 9 May 2007 11:39:47 -0500 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: The easiest way to get a file name from a full path is Dir. One line. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 10:49 AM To: accessd at databaseadvisors.com Subject: [AccessD] InstrRev in A97 Hello All, With my lst excel issue...I needed to extract a file name in A97 from a path. The InstrRev function would have been handy. And I found that someone had written it. Seemed very useful...so I thought I'd share. Thanks, Mark A. Matte http://www.tek-tips.com/faqs.cfm?fid=4342 _________________________________________________________________ PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr ation_HM_mini_pcmag_0507 The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Wed May 9 12:01:01 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 13:01:01 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: <002501c7924b$01f69c10$657aa8c0@m6805> References: <200705091332.l49DW5Td023462@databaseadvisors.com> <002501c7924b$01f69c10$657aa8c0@m6805> Message-ID: <003a01c7925b$a000ba70$657aa8c0@m6805> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 11:02 AM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] Bulk insert Robert, That is much appreciated. Why don't you work with me instead? I am all for doing it "in SQL Server" (I own and use SQL Server 2005) but it has to be something that I understand and can modify or I will not be able to use it in the end, which would make your efforts wasted. My high level spec: 1) Use a "from directory" which is monitored to pick up files from. 1a) The from directory changes for each import data set. 2) Each file in the "from directory" will contain identical formatted data, but the number of records in the file may vary. 3) Each file will be defined by an import spec table, which contains Field Name, Field Width and data type. If no data type is specified, then VarChar() is used. The size of the VarChar() field is determined by the spec table. This allows me to only have to spec data types (in advance) that I know is not VarChar(), but allows me to spec as many as I need in advance of the import. 4) Once the table is built and populated, a new field called PKID needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. Understand that at this time I actually have a functioning system. It takes a pair of tables which specify the file info (from / to directories, field delimiter etc) and the field info (field name / start position in the fixed width data / field length). This program (written in VBA) does a conversion from fixed width to a pipe delimited "CSV" file, reading a line, stripping off the spaces, and writing the stripped data lines back out to a CSV file in the "TO Directory", complete with the first line containing field names. At the moment I have a hand constructed table in a hand constructed database, which is created by an initial use of the wizard from inside of SQL Server, pulling in the first CSV files created by my program. Once that table is created, I use a hand created BULK INSERT Sproc to import the CSV files. Once the table is fully populated with the contents of all the files, I hand build an ALTER TABLE query to build a PKID INT PRIMARY KEY, IDENTITY. As you can see, anywhere you see "hand created", that is an area that needs to be automated. My thoughts are that creating the table initially will be relatively easy, and in fact I know how, building up a make table query with the field names and widths taken from the spec table. I just did not do that because I did not have the time. The next issue is dynamically creating the Sproc that does the Bulk Insert. Now, as to whether the process of importing the data (inside of SQL Server) strips off the spaces is really somewhat irrelevant at this point since I have working code to do this. It is not blazing fast at about 1000 lines / second (for 150 fields) but it is "fast enough". If I port that to VB.Net I hope / expect to get a speed increase. The BULK INSERT SProc that I hand build is currently running about 12K records / sec (for 150 fields) In the end, this really needs to be an external application driving SQL Server functionality. I need a place to go to fill in the import spec table, set the from / to directories, set up the name of the table etc. My heartache to this point has been the inability to get the SQL Server built-in import stuff to import the data without the external strip / rebuild step, or at least without an elaborate dance to get around any limitations of SQL Server to do that stuff for me. The very next thing I have to do is start exporting just the name / address (and PK) of this 100 million record table back out for CASS / NCOA processing. This requires exporting 2 million records at a time, to a destination directory, with a unique file name (Infutor01.csv, Infutor02.csv...). Once my CASS program finishes processing I will have a new set of files in yet another directory that I need to pull back in to SQL Server. Those files will not require the space stripping piece since they will not be fixed width. I do appreciate all of the advice from all the folks out there that have contributed. I am slowly but surely learning the pieces and parts that I need to do this part of my job. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Wednesday, May 09, 2007 9:31 AM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] Bulk insert John, I am working on an example of doing this with SQL Server for you. But, since I have the same amount of free time as you do, it is going to take a week or so to complete. I am using the same concept as you did with a couple of table to hold the Import spec and the column definitions for the spec. I am going to only build it for one table to show how it can be done. The rest will be up to you if you want to expand it. Robert At 09:27 PM 5/8/2007, you wrote: >Date: Tue, 8 May 2007 13:40:59 -0400 >From: "JWColby" >Subject: Re: [dba-SQLServer] Bulk insert >To: >Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Jim, > >At this point it is not necessary. I built a preprocessor in a few >hours using my toy (Access). My toy application handles everything >exactly as described. Someday (soon I hope) I will port that to VB.Net >which I hope will be much quicker in the preprocessing department. >Then I will be considered by some as being a real man, playing with >real tools. ;-) Others will still consider me a child, playing with >toys because I didn't take it straight to C#. SOMEDAY (far in the >future) perhaps I will embed those pieces directly in CLR programming >inside of SQL Server 2005. Then I will be able to look down my nose at those children still playing with toys. > >For now, it works and with the addition of driving the Sproc from the >vba will be an integrated application like what I described. > >John W. Colby _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 12:01:37 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 17:01:37 +0000 Subject: [AccessD] InstrRev in A97 Message-ID: Drew, Ok...now I'm laughing at myself. I found a module that called a windows dialogue box to get a file and path. This module used the InstrRev. I guess I got so fixated on what the example was...I overlooked the obvious. Thanks for pointing this out. Still laughing, Mark >From: "Drew Wutka" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] InstrRev in A97 >Date: Wed, 9 May 2007 11:39:47 -0500 > >The easiest way to get a file name from a full path is Dir. One line. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:49 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] InstrRev in A97 > >Hello All, > >With my lst excel issue...I needed to extract a file name in A97 from a >path. The InstrRev function would have been handy. And I found that >someone had written it. Seemed very useful...so I thought I'd share. > >Thanks, > >Mark A. Matte > >http://www.tek-tips.com/faqs.cfm?fid=4342 > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning >Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr >ation_HM_mini_pcmag_0507 > >The information contained in this transmission is intended only for the >person or entity to which it is addressed and may contain II-VI Proprietary >and/or II-VI BusinessSensitve material. If you are not the intended >recipient, please contact the sender immediately and destroy the material >in its entirety, whether electronic or hard copy. You are notified that any >review, retransmission, copying, disclosure, dissemination, or other use >of, or taking of any action in reliance upon this information by persons or >entities other than the intended recipient is prohibited. > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From Gustav at cactus.dk Wed May 9 12:18:28 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 09 May 2007 19:18:28 +0200 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Message-ID: Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com From ssharkins at setel.com Wed May 9 12:34:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 13:34:43 -0400 Subject: [AccessD] Problem with Word Automation Message-ID: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> 'Print customer slip for current customer. Dim appWord As Word.Application Dim doc As Word.Document 'Dim rst As ADODB.Recordset 'Dim strSQL As String 'Set appWord = GetObject(, "Word.Application") Set appWord = New Word.Application 'With appWord 'Set doc = appWord.Documents("Customer Slip") On Error GoTo errHandler Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) As you can see from the commented lines, I've tried a number of ways to retrieve a Word document named Customer Slip -- I want to fill predefined fields with Access data. If I tried to set the Documents property to the file name I get a "bad file" error. If I try to do it in the .Open method, I get the following: -2147417851 Automation error The server threw an exception. I don't have a clue what that means. Susan H. From jwcolby at colbyconsulting.com Wed May 9 12:52:33 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 13:52:33 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: References: Message-ID: <005201c79262$d279b3b0$657aa8c0@m6805> Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 13:02:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:02:50 +0000 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: ...apparently I can't focus today. I found the reason they used InstrRev instead of DIR...at this point the file has not been created...therefore DIR returns nothing. They are using the InstrRev to parse the name of the file to be created. Thanks, Mark A. Matte >From: "Drew Wutka" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] InstrRev in A97 >Date: Wed, 9 May 2007 11:39:47 -0500 > >The easiest way to get a file name from a full path is Dir. One line. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:49 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] InstrRev in A97 > >Hello All, > >With my lst excel issue...I needed to extract a file name in A97 from a >path. The InstrRev function would have been handy. And I found that >someone had written it. Seemed very useful...so I thought I'd share. > >Thanks, > >Mark A. Matte > >http://www.tek-tips.com/faqs.cfm?fid=4342 > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning >Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr >ation_HM_mini_pcmag_0507 > >The information contained in this transmission is intended only for the >person or entity to which it is addressed and may contain II-VI Proprietary >and/or II-VI BusinessSensitve material. If you are not the intended >recipient, please contact the sender immediately and destroy the material >in its entirety, whether electronic or hard copy. You are notified that any >review, retransmission, copying, disclosure, dissemination, or other use >of, or taking of any action in reliance upon this information by persons or >entities other than the intended recipient is prohibited. > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From askolits at ot.com Wed May 9 13:05:32 2007 From: askolits at ot.com (John Skolits) Date: Wed, 9 May 2007 14:05:32 -0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <005a01c79264$a2c0d5c0$0f01a8c0@officexp> I just tried this.. After I pasted my data, I then added another worksheet like this: objXLBook.Worksheets.Add Then I referred to it as objXLBook.Worksheets(2) And was then able to paste data into another sheet in the same workbook. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 10:26 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks John, I got the formatting the way I needed it...I used the report to determine what order the columns would be in...and then changed the font,color,etc in excel. Now I just need to get the sheets into a single workbook. Thanks, Mark >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 18:02:47 -0400 > >Mark, > >I've been kind-of following this thread and thought I'd share my code with >you. >It may not help you with what you're doing, but it's a slightly different >approach. >I use an Excel sheet as a template to do some of my formatting. I open it, >use the CopyFromRecordset function to paste the data into Excel, then do a >"Save AS". The nice thing about the template is you can make a formatting >change to it instead of having to do it in the code. There will probably be >some need to still do some vba-code formatting of the spreadsheet, but this >can cut down on some of the coding. > >Note: You can't paste the code below and run it because I cut it up a >little >to make it more succinct, but it may give you some other ideas. I also have >some error trapping codes at the end that may help. > >John >---- > > >Private Sub btnExportToExcelX() > >On Error GoTo Err_btnExportToExcel > >Dim objXLBook As Excel.Workbook >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >Dim objResultsSheet As Excel.Worksheet >Dim intMaxCol As Integer >Dim intMaxRow As Integer >Dim strExportFilename As String, strFullXLTemplateFilename As String > >strExportFilename =TestWorkbook.xls" >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > >Set objXLBook = GetObject(strFullXLTemplateFilename) >Set objXLApp = objXLBook.Parent >Set objResultsSheet = objXLBook.Worksheets(1) > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > rsFinalBidQuery.MoveLast > rsFinalBidQuery.MoveFirst > > '*Store the data in the worksheet > intMaxCol = rsFinalBidQuery.Fields.Count > If rsFinalBidQuery.RecordCount > 0 Then > intMaxRow = rsFinalBidQuery.RecordCount > With objXLApp > With objResultsSheet > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >intMaxCol)).CopyFromRecordset rsFinalBidQuery > End With > End With > End If > >rsFinalBidQuery.Close > >'Add some values to specific defined cells >objResultsSheet.Range("PartNum").Value = "PN# 1234" >objResultsSheet.Range("PartDesc").Value = "Description" > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > >'Save it as a new name >objXLBook.SaveAs strExportFilename >objXLApp.Visible = True > >' Release the object variable >Set objXLBook = Nothing > >BuildXLBidReport_EXIT: >Set rsFinalBidQuery = Nothing > >DoCmd.Hourglass False >DoCmd.Echo True > >Exit Sub > >BuildXLBidReport_ERR: > >'If user picks to cancel the opening of the worksheet because of the excel >macro message this error occurs >If Err = 287 Then Resume BuildXLBidReport_EXIT > >If Err = 70 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > Resume BuildXLBidReport_EXIT >End If >If Err = 1004 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > objXLBook.Application.Quit > ' Release the object variable > Set objXLBook = Nothing > Resume BuildXLBidReport_EXIT >End If > >'Display the error > > Dim strCallingObject As String > strCallingObject = "BuildXLBidReport" & " " & >Application.CurrentObjectName & " Line: " & Erl > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > Resume BuildXLBidReport_EXIT > > Dim oApp As Object > > Set oApp = CreateObject("Excel.Application") > oApp.Visible = True > 'Only XL 97 supports UserControl Property > On Error Resume Next > oApp.UserControl = True > >Exit_btnExportToExcel: > Exit Sub > >Err_btnExportToExcel: > MsgBox Err.Description > Resume Exit_btnExportToExcel > >End Sub > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? Youll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_outlook_0507 From ebarro at verizon.net Wed May 9 13:17:01 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 09 May 2007 11:17:01 -0700 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: <005201c79262$d279b3b0$657aa8c0@m6805> Message-ID: <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com From Jim.Hale at FleetPride.com Wed May 9 13:14:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 13:14:09 -0500 Subject: [AccessD] Redeem your voucher Message-ID: I'm guessing this implies the voucher number as input isn't valid so they just keep asking by recyling the same screen. Anything crazy like leading or trailing spaces, caps, etc in the number? Also, I've been on some sites where cutting and pasting the number doesn't work, it has to be typed. Why, I don't know. Good Luck. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:59 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From mmattys at rochester.rr.com Wed May 9 13:19:28 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Wed, 9 May 2007 14:19:28 -0400 Subject: [AccessD] InstrRev in A97 References: Message-ID: <00e201c79266$96102b30$0302a8c0@Laptop> Maybe this helps? strFileName = xlApp.Application.GetSaveAsFilename(FileFilter:="Excel Workbooks (*.xls), *.xls", Title:="Save Workbook As") Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Mark A Matte" To: Sent: Wednesday, May 09, 2007 2:02 PM Subject: Re: [AccessD] InstrRev in A97 > ...apparently I can't focus today. > > I found the reason they used InstrRev instead of DIR...at this point the > file has not been created...therefore DIR returns nothing. They are using > the InstrRev to parse the name of the file to be created. > > Thanks, > > Mark A. Matte > From markamatte at hotmail.com Wed May 9 13:19:39 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:19:39 +0000 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: Susan, Being that I just fought excel automation...I plugged your info into my examples...and here is what I got. Let me know if it works. Thanks, Mark ****************CODE*********** Dim appWord As Word.Application Dim doc As Word.Document Set appWord = New Word.Application With appWord .Documents.Open ("c:\temp\Charlotte_Test") .Visible = True End With ****************END_CODE*********** >From: "Susan Harkins" >Reply-To: Access Developers discussion and problem >solving >To: "'Discussion of Hardware and Software >issues'", > >Subject: [AccessD] Problem with Word Automation >Date: Wed, 9 May 2007 13:34:43 -0400 > > 'Print customer slip for current customer. > Dim appWord As Word.Application > Dim doc As Word.Document > 'Dim rst As ADODB.Recordset > 'Dim strSQL As String > > 'Set appWord = GetObject(, "Word.Application") > > Set appWord = New Word.Application > > 'With appWord > 'Set doc = appWord.Documents("Customer Slip") > > On Error GoTo errHandler > Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) > >As you can see from the commented lines, I've tried a number of ways to >retrieve a Word document named Customer Slip -- I want to fill predefined >fields with Access data. > >If I tried to set the Documents property to the file name I get a "bad >file" >error. If I try to do it in the .Open method, I get the following: > >-2147417851 >Automation error >The server threw an exception. > >I don't have a clue what that means. > >Susan H. > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From jwcolby at colbyconsulting.com Wed May 9 13:26:18 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 14:26:18 -0400 Subject: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert In-Reply-To: <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> References: <005201c79262$d279b3b0$657aa8c0@m6805> <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> Message-ID: <005a01c79267$897f5a20$657aa8c0@m6805> Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 13:26:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:26:50 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <005a01c79264$a2c0d5c0$0f01a8c0@officexp> Message-ID: Thanks John, I didn't know how to use a recordset...because the data I wanted out went through some heavy formatting in the report. Thats why I think I am stuck with the OUTPUTTO method, unless I choose to do all of my formatting after. The report's formatting is dependant on user input...they decide what columns are included, what order the columns are in, and the columns are colored depending what order they are selected in. Most of this is done behind the report in VBA. That part I finished...and with the last input from Shamil...I got the sheets into 1 workbook. Thanks to All for the support and suggestions. Thanks again, Mark A. Matte >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 14:05:32 -0400 > >I just tried this.. > >After I pasted my data, I then added another worksheet like this: > >objXLBook.Worksheets.Add > >Then I referred to it as objXLBook.Worksheets(2) > >And was then able to paste data into another sheet in the same workbook. > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:26 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks John, > >I got the formatting the way I needed it...I used the report to determine >what order the columns would be in...and then changed the font,color,etc in >excel. > >Now I just need to get the sheets into a single workbook. > >Thanks, > >Mark > > > > >From: "John Skolits" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 18:02:47 -0400 > > > >Mark, > > > >I've been kind-of following this thread and thought I'd share my code >with > >you. > >It may not help you with what you're doing, but it's a slightly different > >approach. > >I use an Excel sheet as a template to do some of my formatting. I open >it, > >use the CopyFromRecordset function to paste the data into Excel, then do >a > >"Save AS". The nice thing about the template is you can make a formatting > >change to it instead of having to do it in the code. There will probably >be > >some need to still do some vba-code formatting of the spreadsheet, but >this > >can cut down on some of the coding. > > > >Note: You can't paste the code below and run it because I cut it up a > >little > >to make it more succinct, but it may give you some other ideas. I also >have > >some error trapping codes at the end that may help. > > > >John > >---- > > > > > >Private Sub btnExportToExcelX() > > > >On Error GoTo Err_btnExportToExcel > > > >Dim objXLBook As Excel.Workbook > >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant > >Dim objXLRange As Excel.Range, objXLApp As Excel.Application > >Dim objResultsSheet As Excel.Worksheet > >Dim intMaxCol As Integer > >Dim intMaxRow As Integer > >Dim strExportFilename As String, strFullXLTemplateFilename As String > > > >strExportFilename =TestWorkbook.xls" > >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > > > >Set objXLBook = GetObject(strFullXLTemplateFilename) > >Set objXLApp = objXLBook.Parent > >Set objResultsSheet = objXLBook.Worksheets(1) > > > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > > rsFinalBidQuery.MoveLast > > rsFinalBidQuery.MoveFirst > > > > '*Store the data in the worksheet > > intMaxCol = rsFinalBidQuery.Fields.Count > > If rsFinalBidQuery.RecordCount > 0 Then > > intMaxRow = rsFinalBidQuery.RecordCount > > With objXLApp > > With objResultsSheet > > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + > >intMaxCol)).CopyFromRecordset rsFinalBidQuery > > End With > > End With > > End If > > > >rsFinalBidQuery.Close > > > >'Add some values to specific defined cells > >objResultsSheet.Range("PartNum").Value = "PN# 1234" > >objResultsSheet.Range("PartDesc").Value = "Description" > > > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > > > >'Save it as a new name > >objXLBook.SaveAs strExportFilename > >objXLApp.Visible = True > > > >' Release the object variable > >Set objXLBook = Nothing > > > >BuildXLBidReport_EXIT: > >Set rsFinalBidQuery = Nothing > > > >DoCmd.Hourglass False > >DoCmd.Echo True > > > >Exit Sub > > > >BuildXLBidReport_ERR: > > > >'If user picks to cancel the opening of the worksheet because of the >excel > >macro message this error occurs > >If Err = 287 Then Resume BuildXLBidReport_EXIT > > > >If Err = 70 Then > > MsgBox " Make sure this worksheet **" & strExportFilename & "** >isn't > >alreday open.", 64, "Excel Sheet Open" > > Resume BuildXLBidReport_EXIT > >End If > >If Err = 1004 Then > > MsgBox " Make sure this worksheet **" & strExportFilename & "** >isn't > >alreday open.", 64, "Excel Sheet Open" > > objXLBook.Application.Quit > > ' Release the object variable > > Set objXLBook = Nothing > > Resume BuildXLBidReport_EXIT > >End If > > > >'Display the error > > > > Dim strCallingObject As String > > strCallingObject = "BuildXLBidReport" & " " & > >Application.CurrentObjectName & " Line: " & Erl > > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > > Resume BuildXLBidReport_EXIT > > > > Dim oApp As Object > > > > Set oApp = CreateObject("Excel.Application") > > oApp.Visible = True > > 'Only XL 97 supports UserControl Property > > On Error Resume Next > > oApp.UserControl = True > > > >Exit_btnExportToExcel: > > Exit Sub > > > >Err_btnExportToExcel: > > MsgBox Err.Description > > Resume Exit_btnExportToExcel > > > >End Sub > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Like the way Microsoft Office Outlook works? Youll love Windows Live >Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_outlook_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From jwcolby at colbyconsulting.com Wed May 9 13:36:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 14:36:32 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <006b01c79268$f866a8c0$657aa8c0@m6805> Yea, I typed it in too. No help. That also brings up the issues of is it 0 or O, 1 or I or l etc. At any rate, no luck so far. I did get a response of "we'll get back to ya" from MS. In the meantime I don't need it anyway. I was just trying to get something free from the big MS. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 2:14 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher I'm guessing this implies the voucher number as input isn't valid so they just keep asking by recyling the same screen. Anything crazy like leading or trailing spaces, caps, etc in the number? Also, I've been on some sites where cutting and pasting the number doesn't work, it has to be typed. Why, I don't know. Good Luck. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:59 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lembit.dbamail at t-online.de Wed May 9 13:58:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 9 May 2007 20:58:50 +0200 Subject: [AccessD] Redeem your voucher References: <006b01c79268$f866a8c0$657aa8c0@m6805> Message-ID: <003401c7926c$14d81fe0$1800a8c0@s1800> John, paste it into WordPad and set the font to CourierNew or some such, then you can distinguish between O, 0, I, 1, l... Lembit ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 8:36 PM Subject: Re: [AccessD] Redeem your voucher > Yea, I typed it in too. No help. That also brings up the issues of is it > 0 > or O, 1 or I or l etc. At any rate, no luck so far. I did get a response > of "we'll get back to ya" from MS. > > In the meantime I don't need it anyway. I was just trying to get > something > free from the big MS. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 2:14 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > I'm guessing this implies the voucher number as input isn't valid so they > just keep asking by recyling the same screen. Anything crazy like leading > or > trailing spaces, caps, etc in the number? Also, I've been on some sites > where cutting and pasting the number doesn't work, it has to be typed. > Why, > I don't know. Good Luck. > Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Wednesday, May 09, 2007 10:59 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > It turns out that they don't even get to where they ask me for anything > other than the voucher number. I enter just that one piece of info, and > it > brings me right back to the same screen. I think it is a psych 101 test > where they are just trying to see how long the poor fool will continue to > enter the voucher number before giving up. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 11:38 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice > versa. MS get lots of laughs over this one. Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 08, 2007 5:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > Hi John: > > Possible problems: > 1. You are not using an approved browser like Microsoft's Internet > Explorer... Come the think of it, it is the only approved browser. 2. Are > you accepting cookie? The answer to this question is yes. 3. Are you > entering the correct username and password? Remember that both username > and > password are case sensitive. 4. If you have screwed up 5 times the system > will go off into space for a few hours before you are allowed to try > again. > > If you have done everything right and it still doesn't let you in, > complain > to MS through one of the page emails and you will be sent special > instructions/password and be able to retrieve your copy. > > Been there done it a number of times. > > HTH > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 1:48 PM > To: 'Access Developers discussion and problem solving'; > dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com > Subject: [AccessD] Redeem your voucher > > Well, I watched the two videos, filled out the required feedback report > and > now I have received my highly coveted voucher for my free* copy of Visual > Studio 2005 Standard Edition. > > *Other than having to pay shipping and handling (which is fine) I also > have > to get the web page to ACCEPT my voucher (which ain't happening). The old > endless loop, comes right back to the same page and asks for the voucher > again. I even tried using MS POS Explorer to no avail. > > I wonder if anyone at MS has noticed that no one is redeeming their > vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. > > Sigh. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. If you have received this email > in error please contact the sender and delete the material from any > computer. As a recipient of this email, you are responsible for screening > its contents and the contents of any attachments for the presence of > viruses. No liability is accepted for any damages caused by any virus > transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. > If you have received this email in error please contact the sender and > delete the material from any computer. As a recipient of this email, you > are > responsible for screening its contents and the contents of any attachments > for the presence of viruses. No liability is accepted for any damages > caused > by any virus transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08.05.2007 > 14:23 > > From adtp at hotmail.com Wed May 9 14:05:50 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 10 May 2007 00:35:50 +0530 Subject: [AccessD] Problem with Word Automation References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: Susan, Sample subroutine as given below, on being tested at my end, is found to work smoothly. Best wishes, A.D.Tejpal --------------- Sample subroutine =============================== Sub P_GetWordDoc() On Error GoTo ErrTrap Dim appWord As Word.Application Dim doc As Word.Document Dim DocPath1 As String, DocPath2 As String DocPath1 = "C:\TEMP\Test 01.doc" DocPath2 = "C:\TEMP\Test 02.doc" On Error Resume Next Err.Clear Set appWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Set appWord = New Word.Application End If On Error GoTo ErrTrap Set doc = appWord.Documents.Open(DocPath1, , True) On Error Resume Next Kill DocPath2 doc.SaveAs DocPath2 ExitPoint: On Error Resume Next doc.Close appWord.Quit Set doc = Nothing Set appWord = Nothing On Error GoTo 0 Exit Sub ErrTrap: MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" Resume ExitPoint End Sub =============================== ----- Original Message ----- From: Susan Harkins To: 'Discussion of Hardware and Software issues' ; AccessD at databaseadvisors.com Sent: Wednesday, May 09, 2007 23:04 Subject: [AccessD] Problem with Word Automation 'Print customer slip for current customer. Dim appWord As Word.Application Dim doc As Word.Document 'Dim rst As ADODB.Recordset 'Dim strSQL As String 'Set appWord = GetObject(, "Word.Application") Set appWord = New Word.Application 'With appWord 'Set doc = appWord.Documents("Customer Slip") On Error GoTo errHandler Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) As you can see from the commented lines, I've tried a number of ways to retrieve a Word document named Customer Slip -- I want to fill predefined fields with Access data. If I tried to set the Documents property to the file name I get a "bad file" error. If I try to do it in the .Open method, I get the following: -2147417851 Automation error The server threw an exception. I don't have a clue what that means. Susan H. From markamatte at hotmail.com Wed May 9 14:28:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 19:28:50 +0000 Subject: [AccessD] Report to Excel_NEW In-Reply-To: Message-ID: Hello All, This just keeps getting worse... I moved the db to the users machine...and of course...I get errors. Turns out this guy has A97 and Excel03 on his machine...I'm guessing this is the issue. I get the error"Application defined or object defined error" in the following area: With appExcel .Workbooks.Open strpathTemp1, 0 Any ideas? Is there a different syntax for excel'03? Thanks, Mark A. Matte _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From jimdettman at verizon.net Wed May 9 14:37:15 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 09 May 2007 15:37:15 -0400 Subject: [AccessD] A database design for contacts.... Message-ID: <002b01c79271$738d0550$8abea8c0@XPS> Hi All, In light of recent discussions on lookup tables, I'm curious on how different people have attacked the contacts problem. For example, let's say I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, etc. A contact could be an individual or a group or company. For example, I might have three doctors working as a group called Plank Road Medical. You need to keep track of both the individual doctors and their contact info and the contact info for the group. Also the fact that they are all associated. Do you: A. Have a table for every possible type of contact? or B. Have one contact table which includes a contact "type". and the second question; how do you handle companies vs. individuals and link the two? Do you: A. Have a separate table for companies. B. Have a flag which indicates if the contact is a company or an individual and self-join to your single table. I know the right answer, but I'm wondering what everyone feels is the practical answer. Given the recent thread on Lookups, this is probably a good topic for discussion. Jim. From martyconnelly at shaw.ca Wed May 9 15:10:25 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 09 May 2007 13:10:25 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <46422AB1.3030902@shaw.ca> Have a look at this article and mdb on managing tables with human relationships especially groups of peoples by Allen Browne. http://www.allenbrowne.com/AppHuman.html With Access SQL it does breakdown if carried too far because Access SQL unlike SQL Sever can't easily handle nested SQL Trees. Jim Dettman wrote: >Hi All, > > In light of recent discussions on lookup tables, I'm curious on how >different people have attacked the contacts problem. For example, let's say >I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, >etc. A contact could be an individual or a group or company. For example, >I might have three doctors working as a group called Plank Road Medical. >You need to keep track of both the individual doctors and their contact info >and the contact info for the group. Also the fact that they are all >associated. > > Do you: > >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an individual >and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the >practical answer. Given the recent thread on Lookups, this is probably a >good topic for discussion. > >Jim. > > -- Marty Connelly Victoria, B.C. Canada From fuller.artful at gmail.com Wed May 9 15:32:27 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 16:32:27 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, let's > say > I need to keep track of Doctors, Attorneys, Therapists, Hospitals, > Clinics, > etc. A contact could be an individual or a group or company. For > example, > I might have three doctors working as a group called Plank Road Medical. > You need to keep track of both the individual doctors and their contact > info > and the contact info for the group. Also the fact that they are all > associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and > link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual > and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is probably a > good topic for discussion. > > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Wed May 9 15:47:09 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 16:47:09 -0400 Subject: [AccessD] Redeem your voucher References: <003301c79253$074016d0$657aa8c0@m6805> Message-ID: <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> ...it would appear they have an apt pupil :))) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 11:59 AM Subject: Re: [AccessD] Redeem your voucher > It turns out that they don't even get to where they ask me for anything > other than the voucher number. I enter just that one piece of info, and > it > brings me right back to the same screen. I think it is a psych 101 test > where they are just trying to see how long the poor fool will continue to > enter the voucher number before giving up. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 11:38 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice > versa. MS get lots of laughs over this one. > Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 08, 2007 5:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > Hi John: > > Possible problems: > 1. You are not using an approved browser like Microsoft's Internet > Explorer... Come the think of it, it is the only approved browser. 2. Are > you accepting cookie? The answer to this question is yes. 3. Are you > entering the correct username and password? Remember that both username > and > password are case sensitive. 4. If you have screwed up 5 times the system > will go off into space for a few hours before you are allowed to try > again. > > If you have done everything right and it still doesn't let you in, > complain > to MS through one of the page emails and you will be sent special > instructions/password and be able to retrieve your copy. > > Been there done it a number of times. > > HTH > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 1:48 PM > To: 'Access Developers discussion and problem solving'; > dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com > Subject: [AccessD] Redeem your voucher > > Well, I watched the two videos, filled out the required feedback report > and > now I have received my highly coveted voucher for my free* copy of Visual > Studio 2005 Standard Edition. > > *Other than having to pay shipping and handling (which is fine) I also > have > to get the web page to ACCEPT my voucher (which ain't happening). The old > endless loop, comes right back to the same page and asks for the voucher > again. I even tried using MS POS Explorer to no avail. > > I wonder if anyone at MS has noticed that no one is redeeming their > vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. > > Sigh. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. > If you have received this email in error please contact the sender and > delete the material from any computer. As a recipient of this email, you > are > responsible for screening its contents and the contents of any attachments > for the presence of viruses. No liability is accepted for any damages > caused > by any virus transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Wed May 9 15:47:15 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:47:15 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <007301c7927b$3b14f390$657aa8c0@m6805> >Lately I have been busted here for such opinions, but I plod on. LOL, boy do I know that feeling. >An organization has one or more contacts (if it has zero, why record it?) Just about the only point I take exception to. Often times things are mailed to an organization, not to a specific person. A phone bill, an electric bill. The phone company only wants to get the bill in the door, it will find its way to the right place after that. >In short, you have raised a non-trivial problem. As it happens, it is one of my three favorite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Amen, and amen. What are the other two favorite problems? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 09, 2007 4:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, > let's say I need to keep track of Doctors, Attorneys, Therapists, > Hospitals, Clinics, etc. A contact could be an individual or a group > or company. For example, I might have three doctors working as a > group called Plank Road Medical. > You need to keep track of both the individual doctors and their > contact info and the contact info for the group. Also the fact that > they are all associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals > and link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is > probably a good topic for discussion. > > 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 jwcolby at colbyconsulting.com Wed May 9 15:48:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:48:08 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> References: <003301c79253$074016d0$657aa8c0@m6805> <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> Message-ID: <007401c7927b$5a752d90$657aa8c0@m6805> Oh yea. If you give me a voucher, expect me to try and collect. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:47 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Redeem your voucher ...it would appear they have an apt pupil :))) William Hindman From wdhindman at dejpolsystems.com Wed May 9 15:50:39 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 16:50:39 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert References: <200705091332.l49DW5Td023462@databaseadvisors.com><002501c7924b$01f69c10$657aa8c0@m6805> <003a01c7925b$a000ba70$657aa8c0@m6805> Message-ID: <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes > just to build the auto increment PK field after the table was finished > importing records. The index space for the table (with just this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space to > hold. There were 56 CSV files created after stripping out the spaces, > which > required 40.8 Gigabytes of disk space to hold. Thus by my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the original > fixed width file, with the real data occupying 40.8 GB. It is interesting > to note that the raw data in the CSV file was 41gb while the data space > required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for each > and every file, but the process of stripping the spaces off of the fields > happened at about 1K records / second. Given 97.5 million records, this > equates to 97.5 thousand seconds to do the space stripping, which is 27.77 > hours. That of course is done in a VBA application. Again I don't have > accurate specs for all of the bulk inserts, however those that I recorded > the times for summed to 71.2 million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that the > BULK > INSERT itself took 1.3 hours but due to the lack of automation in feeding > the Sproc file names, I had to manually edit the SPROC each time I wanted > to > import a new file so the actual import took much longer, since I wasn't > necessarily watching the computer as the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this last > few > weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am all > for > doing it "in SQL Server" (I own and use SQL Server 2005) but it has to be > something that I understand and can modify or I will not be able to use it > in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, > but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains Field > Name, Field Width and data type. If no data type is specified, then > VarChar() is used. The size of the VarChar() field is determined by the > spec table. This allows me to only have to spec data types (in advance) > that I know is not VarChar(), but allows me to spec as many as I need in > advance of the import. > 4) Once the table is built and populated, a new field called PKID needs to > be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes > a pair of tables which specify the file info (from / to directories, field > delimiter etc) and the field info (field name / start position in the > fixed > width data / field length). This program (written in VBA) does a > conversion > from fixed width to a pipe delimited "CSV" file, reading a line, stripping > off the spaces, and writing the stripped data lines back out to a CSV file > in the "TO Directory", complete with the first line containing field > names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside of > SQL Server, pulling in the first CSV files created by my program. Once > that > table is created, I use a hand created BULK INSERT Sproc to import the CSV > files. Once the table is fully populated with the contents of all the > files, I hand build an ALTER TABLE query to build a PKID INT PRIMARY KEY, > IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs > to be automated. My thoughts are that creating the table initially will > be > relatively easy, and in fact I know how, building up a make table query > with > the field names and widths taken from the spec table. I just did not do > that because I did not have the time. The next issue is dynamically > creating the Sproc that does the Bulk Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point since I > have working code to do this. It is not blazing fast at about 1000 lines > / > second (for 150 fields) but it is "fast enough". If I port that to VB.Net > I > hope / expect to get a speed increase. The BULK INSERT SProc that I hand > build is currently running about 12K records / sec (for 150 fields) > > In the end, this really needs to be an external application driving SQL > Server functionality. I need a place to go to fill in the import spec > table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address > (and PK) of this 100 million record table back out for CASS / NCOA > processing. This requires exporting 2 million records at a time, to a > destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will have a > new set of files in yet another directory that I need to pull back in to > SQL > Server. Those files will not require the space stripping piece since they > will not be fixed width. > > I do appreciate all of the advice from all the folks out there that have > contributed. I am slowly but surely learning the pieces and parts that I > need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. But, > since I have the same amount of free time as you do, it is going to take a > week or so to complete. I am using the same concept as you did with a > couple of table to hold the Import spec and the column definitions for the > spec. I am going to only build it for one table to show how it can be > done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to VB.Net >>which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 colbyconsulting.com Wed May 9 15:59:37 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:59:37 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert In-Reply-To: <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> References: <200705091332.l49DW5Td023462@databaseadvisors.com><002501c7924b$01f69c10$657aa8c0@m6805><003a01c7925b$a000ba70$657aa8c0@m6805> <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> Message-ID: <007501c7927c$f4ca09f0$657aa8c0@m6805> Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 cfoust at infostatsystems.com Wed May 9 16:00:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 9 May 2007 14:00:17 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: I agree and disagree, Arthur. In some databases, like membership databases, there are categories of membership which include persons or organizations. The organization may not provide a contact, but it still has an address and phone number, so it still needs to be recorded, particularly if it pays dues or makes contributions. Persons are all contacts, but not all of them may be associated with an organization. The same rationale holds true in a "family" database, except that all families will have at least one person in them at some point in their existence. You can address the problem in part by using a DBMember table that contains a unique key for each organization or person + a membertype value. The PK of that table would become the PK of the organization or person table records. You would need a separate table to make the connections between person and organization, and some way to indicate whether a person is the primary contact for that organization. Addresses, phone numbers, etc. would be linked to the DBMember and would include a field to categorize them (home, mailing, office, etc.). Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 09, 2007 1:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, > let's say I need to keep track of Doctors, Attorneys, Therapists, > Hospitals, Clinics, etc. A contact could be an individual or a group > or company. For example, I might have three doctors working as a > group called Plank Road Medical. > You need to keep track of both the individual doctors and their > contact info and the contact info for the group. Also the fact that > they are all associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals > and link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is > probably a good topic for discussion. > > 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 jwcolby at colbyconsulting.com Wed May 9 16:08:07 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 17:08:07 -0400 Subject: [AccessD] VB.Net - cut and trim Message-ID: <007601c7927e$248a5a90$657aa8c0@m6805> I am looking at how to do in VB.Net what in VBA would be str = trim(mid(str,intStartPos, intLen)) I can do this (I think) in two steps using: private mstr as string mstr = lstrRecord.SubString(intStartPos,intWidth) mstr = mstr.Trim(mstr.ToCharArray) Given what I know about VB.Net (not very darned much) is this the best way? I see where the string builder can do the substring part but it does not have a trim method. John W. Colby Colby Consulting www.ColbyConsulting.com From wdhindman at dejpolsystems.com Wed May 9 16:24:26 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 17:24:26 -0400 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <003401c79280$6ca4b030$7d7d6c4c@jisshowsbs.local> Jim ...ok, I'll bite :) 1st level ...tblentity .......entityID (AN) .......typeID .......other fields unique to entity 2nd level ...tblorg ......entityID (pk/fk from tblentity) ......orgname ......dba ......notes ......etc ...tblpeople ......entityID (pk/fk from tblentity) ......honor ......fname ......mname ......lname ......suffix ......title tbladdresses ......entityID (pk/fk from tblentity) ......addID ......fromdate ......thrudate ......notes ...the 3rd level provides joins for people/orgs with from thru dates, address breakouts for street addresses with mailing/shipping/billing checkboxes, c/s/z/c, electronic addresses, phones, etc all of which allow sharing of common address items, historical tracking, and so on ...been using this general template for going on four years now ...go ahead and retch on it, it works for me :) William Hindman ----- Original Message ----- From: "Jim Dettman" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 3:37 PM Subject: [AccessD] A database design for contacts.... > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, let's > say > I need to keep track of Doctors, Attorneys, Therapists, Hospitals, > Clinics, > etc. A contact could be an individual or a group or company. For > example, > I might have three doctors working as a group called Plank Road Medical. > You need to keep track of both the individual doctors and their contact > info > and the contact info for the group. Also the fact that they are all > associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and > link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual > and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is probably a > good topic for discussion. > > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Wed May 9 16:26:28 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 17:26:28 -0400 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS><29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> ...my girl :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 09, 2007 5:00 PM Subject: Re: [AccessD] A database design for contacts.... >I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 1:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO confuses contacts with organizations. (Lately I have been busted > here for such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may have run for office as the rep for district xyz and either won or > lost, both of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who > run for office are affluent, and therefore the odds are that they own > multiple residences, one a home, another a cottage, another a shack in > Martinique -- whatever. No slam intended upon such fortunate people. I > want to concentrate instead upon the problem that Person X has three > addresses, and her domicile therein is dictated by the month of the > year. She will be in Toronto from May to July, then go to Martinique for > a few months, and ten to France just in time for the Cannes film > festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter > to Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is > one of my three favourite problems. I have spend a long time thinking > about it and have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: >> >> Hi All, >> >> In light of recent discussions on lookup tables, I'm curious on how >> different people have attacked the contacts problem. For example, >> let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. For example, I might have three doctors working as a >> group called Plank Road Medical. >> You need to keep track of both the individual doctors and their >> contact info and the contact info for the group. Also the fact that >> they are all associated. >> >> Do you: >> >> A. Have a table for every possible type of contact? >> >> or >> >> B. Have one contact table which includes a contact "type". >> >> >> and the second question; how do you handle companies vs. individuals >> and link the two? Do you: >> >> A. Have a separate table for companies. >> >> B. Have a flag which indicates if the contact is a company or an >> individual and self-join to your single table. >> >> >> I know the right answer, but I'm wondering what everyone feels is the >> practical answer. Given the recent thread on Lookups, this is >> probably a good topic for discussion. >> >> 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From cfoust at infostatsystems.com Wed May 9 16:29:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 9 May 2007 14:29:17 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> References: <002b01c79271$738d0550$8abea8c0@XPS><29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> Message-ID: >>let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 2:26 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... ...my girl :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 09, 2007 5:00 PM Subject: Re: [AccessD] A database design for contacts.... >I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 1:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO confuses contacts with organizations. (Lately I have been busted > here for such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may have run for office as the rep for district xyz and either won or > lost, both of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who > run for office are affluent, and therefore the odds are that they own > multiple residences, one a home, another a cottage, another a shack in > Martinique -- whatever. No slam intended upon such fortunate people. I > want to concentrate instead upon the problem that Person X has three > addresses, and her domicile therein is dictated by the month of the > year. She will be in Toronto from May to July, then go to Martinique for > a few months, and ten to France just in time for the Cannes film > festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter > to Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is > one of my three favourite problems. I have spend a long time thinking > about it and have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: >> >> Hi All, >> >> In light of recent discussions on lookup tables, I'm curious on how >> different people have attacked the contacts problem. For example, >> let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. For example, I might have three doctors working as a >> group called Plank Road Medical. >> You need to keep track of both the individual doctors and their >> contact info and the contact info for the group. Also the fact that >> they are all associated. >> >> Do you: >> >> A. Have a table for every possible type of contact? >> >> or >> >> B. Have one contact table which includes a contact "type". >> >> >> and the second question; how do you handle companies vs. individuals >> and link the two? Do you: >> >> A. Have a separate table for companies. >> >> B. Have a flag which indicates if the contact is a company or an >> individual and self-join to your single table. >> >> >> I know the right answer, but I'm wondering what everyone feels is the >> practical answer. Given the recent thread on Lookups, this is >> probably a good topic for discussion. >> >> 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 9 16:32:55 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 10 May 2007 01:32:55 +0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert In-Reply-To: <007501c7927c$f4ca09f0$657aa8c0@m6805> Message-ID: <003401c79281$9b60b030$6401a8c0@nant> Hello John, VB.NET 2005 "mimics" all(/most of) usual VB6/VBA functions, which you can use. Trim(...) is in Microsoft.VisualBasic.Strings namespace, which is always available for VB.NET projects therefore you don't even need to use Imports directive or full namespace qualification with Trim(...) function: Dim s As String = " test string " Console.WriteLine("[{0}]",Trim(s)) Results in: [test string] Equivalent native VB.NET function is just: Console.WriteLine("[{0}]", s.Trim()) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 1:00 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 May 9 16:47:39 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 17:47:39 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <007301c7927b$3b14f390$657aa8c0@m6805> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> <007301c7927b$3b14f390$657aa8c0@m6805> Message-ID: <29f585dd0705091447k43c59d22u692c9791d9647c2b@mail.gmail.com> I don't think that you want to know, JC. They are intellectually challenging but also guaranteed not to make so much as a dime in the forseeable future. A. On 5/9/07, JWColby wrote: > > >Lately I have been busted here for such opinions, but I plod on. > > LOL, boy do I know that feeling. > > >An organization has one or more contacts (if it has zero, why record it?) > > Just about the only point I take exception to. Often times things are > mailed to an organization, not to a specific person. A phone bill, an > electric bill. The phone company only wants to get the bill in the door, > it > will find its way to the right place after that. > > >In short, you have raised a non-trivial problem. As it happens, it is one > of my three favorite problems. I have spend a long time thinking about it > and have yet to discover a magic bullet. > > Amen, and amen. > > What are the other two favorite problems? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 4:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO > confuses contacts with organizations. (Lately I have been busted here for > such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more > contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may > have run for office as the rep for district xyz and either won or lost, > both > of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who run > for office are affluent, and therefore the odds are that they own multiple > residences, one a home, another a cottage, another a shack in Martinique > -- > whatever. No slam intended upon such fortunate people. I want to > concentrate > instead upon the problem that Person X has three addresses, and her > domicile > therein is dictated by the month of the year. She will be in Toronto from > May to July, then go to Martinique for a few months, and ten to France > just > in time for the Cannes film festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter to > Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is one > of > my three favourite problems. I have spend a long time thinking about it > and > have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: > > > > Hi All, > > > > In light of recent discussions on lookup tables, I'm curious on how > > different people have attacked the contacts problem. For example, > > let's say I need to keep track of Doctors, Attorneys, Therapists, > > Hospitals, Clinics, etc. A contact could be an individual or a group > > or company. For example, I might have three doctors working as a > > group called Plank Road Medical. > > You need to keep track of both the individual doctors and their > > contact info and the contact info for the group. Also the fact that > > they are all associated. > > > > Do you: > > > > A. Have a table for every possible type of contact? > > > > or > > > > B. Have one contact table which includes a contact "type". > > > > > > and the second question; how do you handle companies vs. individuals > > and link the two? Do you: > > > > A. Have a separate table for companies. > > > > B. Have a flag which indicates if the contact is a company or an > > individual and self-join to your single table. > > > > > > I know the right answer, but I'm wondering what everyone feels is the > > practical answer. Given the recent thread on Lookups, this is > > probably a good topic for discussion. > > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 9 16:48:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 17:48:26 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert In-Reply-To: <003401c79281$9b60b030$6401a8c0@nant> References: <007501c7927c$f4ca09f0$657aa8c0@m6805> <003401c79281$9b60b030$6401a8c0@nant> Message-ID: <007c01c79283$c6f69b90$657aa8c0@m6805> Yep, that's figured out. Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 09, 2007 5:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Hello John, VB.NET 2005 "mimics" all(/most of) usual VB6/VBA functions, which you can use. Trim(...) is in Microsoft.VisualBasic.Strings namespace, which is always available for VB.NET projects therefore you don't even need to use Imports directive or full namespace qualification with Trim(...) function: Dim s As String = " test string " Console.WriteLine("[{0}]",Trim(s)) Results in: [test string] Equivalent native VB.NET function is just: Console.WriteLine("[{0}]", s.Trim()) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 1:00 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the > table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 Wed May 9 16:49:12 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 17:49:12 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <29f585dd0705091449s453bbf77u5994a8830334d8a9@mail.gmail.com> Your solution is precisely what I implied but I guess I didn't say. And the same solution cascades down to the addresses. Arthur On 5/9/07, Charlotte Foust wrote: > > I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > From dw-murphy at cox.net Wed May 9 16:56:48 2007 From: dw-murphy at cox.net (Doug Murphy) Date: Wed, 9 May 2007 14:56:48 -0700 Subject: [AccessD] Pre-Access 2007 runtimes In-Reply-To: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> Message-ID: <003a01c79284$f17280e0$0200a8c0@murphy3234aaf1> Folks, I know some of you distribute Access applications as runtimes, and quite a few use Sagekey scripts to build the installers. Today I received an email from Sagekey which included the following: -------------------------- "In January 2007 Microsoft released Vista and Access 2007. Both products are significantly different from Microsoft's previously released versions and this is going to affect how successful your current Access Runtime installations are with these products. How much Vista will affect your Access Runtime installation will depend upon the complexity of your application. Access 2007 on the other hand won't co-exist well with previous runtimes, triggering an MSI repair that can take up to 5 minutes to complete, followed by a forced reboot." -------------------------- Some follow up from Sagekey indicates that runtimes installed from their older scripts may have some problems on Vista machines with multiple user accounts, and/or machines with Access 2007 on them. Sagekey has developed new scripts to counter these problems, but you must pay an upgrade price. Before I purchase the updated scripts I'd like a little more info. Has anyone on this list experienced problems with runtimes in these situations? Doug From fuller.artful at gmail.com Wed May 9 17:11:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 18:11:07 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <007601c7927e$248a5a90$657aa8c0@m6805> References: <007601c7927e$248a5a90$657aa8c0@m6805> Message-ID: <29f585dd0705091511u2984d527v1cea7ea1e2d4ec56@mail.gmail.com> When in doubt, add ".ToString()" to any expression that you expected to work in VBA. You won't be correct 100% of the time, but close. A. On 5/9/07, JWColby wrote: > > I am looking at how to do in VB.Net what in VBA would be str = > trim(mid(str,intStartPos, intLen)) > > I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > > Given what I know about VB.Net (not very darned much) is this the best > way? > I see where the string builder can do the substring part but it does not > have a trim method. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Wed May 9 17:27:35 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 18:27:35 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: <000001c79289$452bed30$2fb62ad1@SusanOne> Found my error... Set doc = appWord.Documents("CustomerSlip.doc") Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , True) I thought it was an either/or, but apparently it isn't -- you have to set the document name AND include the document's name in the Open method. Susan H. Susan, Sample subroutine as given below, on being tested at my end, is found to work smoothly. Best wishes, A.D.Tejpal --------------- Sample subroutine =============================== Sub P_GetWordDoc() On Error GoTo ErrTrap Dim appWord As Word.Application Dim doc As Word.Document Dim DocPath1 As String, DocPath2 As String DocPath1 = "C:\TEMP\Test 01.doc" DocPath2 = "C:\TEMP\Test 02.doc" On Error Resume Next Err.Clear Set appWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Set appWord = New Word.Application End If On Error GoTo ErrTrap Set doc = appWord.Documents.Open(DocPath1, , True) On Error Resume Next Kill DocPath2 doc.SaveAs DocPath2 ExitPoint: On Error Resume Next doc.Close appWord.Quit Set doc = Nothing Set appWord = Nothing On Error GoTo 0 Exit Sub ErrTrap: MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" Resume ExitPoint End Sub From Jim.Hale at FleetPride.com Wed May 9 17:33:22 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 17:33:22 -0500 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkin sert Message-ID: So maybe we can roast a whole pig at the conference to celebrate? Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 4:00 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com - *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From shamil at users.mns.ru Wed May 9 18:15:24 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 10 May 2007 03:15:24 +0400 Subject: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert In-Reply-To: <005a01c79267$897f5a20$657aa8c0@m6805> Message-ID: <003d01c7928f$ec648de0$6401a8c0@nant> Hello John, Did you try to use byte manipulation in VBA? - the following function could be significantly faster than your current generic solution. And when ported to VB.Net it could be even faster. The array of margins used in this function can be filled from your generic descriptions. And this function is a "quick'n 'dirty' agile solution, which can be further optimized if needed: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) '......................................12345678901234567890123456 Private Const TEST_STRING As String = " one two three " Public Sub testPackString() Dim strRet As String Dim avar As Variant avar = Array(1, 7, 14, 17, 26) strRet = PackString(TEST_STRING, avar) Debug.Print strRet End Sub Public Function PackString(ByVal vstr As String, _ ByVal avar As Variant) As String ' Packs string vstr by stripping leading and trailing blanks of the ' fields, which margins are specified by avar array. ' Every packed field except the last one gets pipe char - '|' added. Dim srcBytes() As Byte Dim dstBytes() As Byte Dim i As Integer Dim j As Integer Dim k As Integer Dim sPos As Integer Dim ePos As Integer Dim bytPipe As Byte bytPipe = CByte(Asc("|")) ReDim srcBytes(Len(vstr) * 2 + 2) ReDim dstBytes(Len(vstr) * 2 + UBound(avar) + 2) CopyMemory ByVal VarPtr(srcBytes(0)), _ ByVal StrPtr(vstr), Len(vstr) * 2 k = 0 For i = LBound(avar) To UBound(avar) - 1 sPos = -1 For j = avar(i) To avar(i + 1) If srcBytes(j * 2 - 2) <> 32 Then sPos = j * 2 - 2 Exit For End If Next j If sPos <> -1 Then For j = avar(i + 1) To avar(i) Step -1 If srcBytes(j * 2 - 2) <> 32 Then ePos = j * 2 - 2 Exit For End If Next j End If If sPos <> -1 Then CopyMemory ByVal VarPtr(dstBytes(k)), _ ByVal VarPtr(srcBytes(sPos)), ePos - sPos + 2 k = k + ePos - sPos + 2 End If dstBytes(k) = bytPipe k = k + 2 Next i PackString = String(k / 2 - 1, Chr(0)) CopyMemory ByVal StrPtr(PackString), _ ByVal VarPtr(dstBytes(0)), k - 2 End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.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 accessd at shaw.ca Wed May 9 19:37:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 09 May 2007 17:37:06 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <0JHS005PGUUF9UN3@l-daemon> Hi Jim: Comments inline... >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". There must be a fixed list of contract types so one table should be enough with a key of each "type" code. > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. Set the relationship from 'Company' to 'Individual'. The relationship can be standardized by placing a dummy value of "Selfxxxx" in the company field if the individual does not work for a Company Jim From jwcolby at colbyconsulting.com Wed May 9 20:08:22 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 21:08:22 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkin sert In-Reply-To: References: Message-ID: <000601c7929f$bd315250$657aa8c0@m6805> Well there ya go! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 6:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkin sert So maybe we can roast a whole pig at the conference to celebrate? Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 4:00 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com - *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 9 20:11:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 21:11:11 -0400 Subject: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert In-Reply-To: <003d01c7928f$ec648de0$6401a8c0@nant> References: <005a01c79267$897f5a20$657aa8c0@m6805> <003d01c7928f$ec648de0$6401a8c0@nant> Message-ID: <000701c792a0$1a0b9da0$657aa8c0@m6805> WOW! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 09, 2007 7:15 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Hello John, Did you try to use byte manipulation in VBA? - the following function could be significantly faster than your current generic solution. And when ported to VB.Net it could be even faster. The array of margins used in this function can be filled from your generic descriptions. And this function is a "quick'n 'dirty' agile solution, which can be further optimized if needed: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) '......................................12345678901234567890123456 Private Const TEST_STRING As String = " one two three " Public Sub testPackString() Dim strRet As String Dim avar As Variant avar = Array(1, 7, 14, 17, 26) strRet = PackString(TEST_STRING, avar) Debug.Print strRet End Sub Public Function PackString(ByVal vstr As String, _ ByVal avar As Variant) As String ' Packs string vstr by stripping leading and trailing blanks of the ' fields, which margins are specified by avar array. ' Every packed field except the last one gets pipe char - '|' added. Dim srcBytes() As Byte Dim dstBytes() As Byte Dim i As Integer Dim j As Integer Dim k As Integer Dim sPos As Integer Dim ePos As Integer Dim bytPipe As Byte bytPipe = CByte(Asc("|")) ReDim srcBytes(Len(vstr) * 2 + 2) ReDim dstBytes(Len(vstr) * 2 + UBound(avar) + 2) CopyMemory ByVal VarPtr(srcBytes(0)), _ ByVal StrPtr(vstr), Len(vstr) * 2 k = 0 For i = LBound(avar) To UBound(avar) - 1 sPos = -1 For j = avar(i) To avar(i + 1) If srcBytes(j * 2 - 2) <> 32 Then sPos = j * 2 - 2 Exit For End If Next j If sPos <> -1 Then For j = avar(i + 1) To avar(i) Step -1 If srcBytes(j * 2 - 2) <> 32 Then ePos = j * 2 - 2 Exit For End If Next j End If If sPos <> -1 Then CopyMemory ByVal VarPtr(dstBytes(k)), _ ByVal VarPtr(srcBytes(sPos)), ePos - sPos + 2 k = k + ePos - sPos + 2 End If dstBytes(k) = bytPipe k = k + 2 Next i PackString = String(k / 2 - 1, Chr(0)) CopyMemory ByVal StrPtr(PackString), _ ByVal VarPtr(dstBytes(0)), k - 2 End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.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 jedi at charm.net Wed May 9 20:59:45 2007 From: jedi at charm.net (Michael Bahr) Date: Wed, 09 May 2007 21:59:45 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <007601c7927e$248a5a90$657aa8c0@m6805> References: <007601c7927e$248a5a90$657aa8c0@m6805> Message-ID: <200705092159450390.155A85FE@mail.cablespeed.com> Hi John, have you looked at regular expressions?? You can do a lot of things in one line. I know VB 6 had them and VB.net should also have them. Mike... *********** REPLY SEPARATOR *********** On 5/9/2007 at 5:08 PM JWColby wrote: >I am looking at how to do in VB.Net what in VBA would be str = >trim(mid(str,intStartPos, intLen)) > >I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > >Given what I know about VB.Net (not very darned much) is this the best way? >I see where the string builder can do the substring part but it does not >have a trim method. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com From dwaters at usinternet.com Wed May 9 21:35:52 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 9 May 2007 21:35:52 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Message-ID: <000b01c792ab$ee23b950$0200a8c0@danwaters> I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? Thanks! Dan From darrend at nimble.com.au Wed May 9 22:37:18 2007 From: darrend at nimble.com.au (Darren D) Date: Thu, 10 May 2007 13:37:18 +1000 Subject: [AccessD] A2003:Determining Key Press Message-ID: <200705100337.l4A3bF7C015680@databaseadvisors.com> Hi All I used to have code for this ? an old project being brought back to life ? But I can?t find the specific code Anyway?Does anyone have samples so that I can tell if the left or right mouse button has been clicked on a form somewhere? Many thanks in advance Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM From john at winhaven.net Wed May 9 22:39:32 2007 From: john at winhaven.net (John Bartow) Date: Wed, 9 May 2007 22:39:32 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <000b01c792ab$ee23b950$0200a8c0@danwaters> References: <000b01c792ab$ee23b950$0200a8c0@danwaters> Message-ID: <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? From stuart at lexacorp.com.pg Wed May 9 22:56:28 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 10 May 2007 13:56:28 +1000 Subject: [AccessD] A2003:Determining Key Press In-Reply-To: <200705100337.l4A3bF7C015680@databaseadvisors.com> References: <200705100337.l4A3bF7C015680@databaseadvisors.com> Message-ID: <4643248C.9490.23A8FF31@stuart.lexacorp.com.pg> Take a look at the event: Private Sub Detail_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) On 10 May 2007 at 13:37, Darren D wrote: > Hi All > > > > I used to have code for this ? an old project being brought back to life ? But I > can?t find the specific code > > > > Anyway?Does anyone have samples so that I can tell if the left or right mouse > button has been clicked on a form somewhere? > > > > Many thanks in advance > > > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From darrend at nimble.com.au Thu May 10 00:16:12 2007 From: darrend at nimble.com.au (Darren D) Date: Thu, 10 May 2007 15:16:12 +1000 Subject: [AccessD] A2003:Determining Key Press In-Reply-To: <4643248C.9490.23A8FF31@stuart.lexacorp.com.pg> Message-ID: <200705100516.l4A5GASh008422@databaseadvisors.com> Hi Stuart Brilliant - It put me on the path to what was needed - now all fixed Many thanks Have a great day Darren ------------------ -----Original Message----- From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] Sent: Thursday, 10 May 2007 1:56 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2003:Determining Key Press Take a look at the event: Private Sub Detail_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) On 10 May 2007 at 13:37, Darren D wrote: > Hi All > > > > I used to have code for this ? an old project being brought back to life ? But I > can?t find the specific code > > > > Anyway?Does anyone have samples so that I can tell if the left or right mouse > button has been clicked on a form somewhere? > > > > Many thanks in advance > > > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM From carbonnb at gmail.com Thu May 10 06:52:22 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Thu, 10 May 2007 07:52:22 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000001c79289$452bed30$2fb62ad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> Message-ID: On 5/9/07, Susan Harkins wrote: > Found my error... > > Set doc = appWord.Documents("CustomerSlip.doc") > Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , True) > > I thought it was an either/or, but apparently it isn't -- you have to set > the document name AND include the document's name in the Open method. It is an either/or. The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? -- 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 jwcolby at colbyconsulting.com Thu May 10 07:02:24 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 10 May 2007 08:02:24 -0400 Subject: [AccessD] VB.Net - XML comments Message-ID: <000d01c792fb$1743bbb0$657aa8c0@m6805> I am using xml comments in place of my regular old comments. Has anyone ever found / used something that yanks the comments out to see what they look like as documentation? What would I use to do that? John W. Colby Colby Consulting www.ColbyConsulting.com From JHewson at karta.com Thu May 10 07:29:04 2007 From: JHewson at karta.com (Jim Hewson) Date: Thu, 10 May 2007 07:29:04 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> References: <000b01c792ab$ee23b950$0200a8c0@danwaters> <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 09, 2007 10:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Thu May 10 07:30:48 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 10 May 2007 18:00:48 +0530 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: Jim, Apparently, the objective is to extract different profiles of output / report, using the available data of contacts. A given contact might feature in more than one profile, without involving any duplication of stored data. For instance, profile named "Visit_UK", would not only include the particulars of contacts in UK (friends/relatives/hotels etc), but also those of travel agents / airlines etc in the home country. On the other hand, profile named "Visit_Australia" would include similar information pertaining to Australia & home country. In both the above profiles, many of the items pertaining to home country would be common. However, the list delivered by each profile is complete and self contained. Use of an ancillary table having fields ContactID (as FK), and Link (holding the profile name) is found convenient. Data entry to this table takes place via a subform on the main form used for entering contacts data. Drop down list showing all existing profile names facilitates entries in the subform. Printing the final report for a given profile becomes very simple, as the only criteria needed is profile name. It over-rides all existing classifications and pulls the required information into one consolidated list. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Jim Dettman To: 'Access Developers discussion and problem solving' Sent: Thursday, May 10, 2007 01:07 Subject: [AccessD] A database design for contacts.... Hi All, In light of recent discussions on lookup tables, I'm curious on how different people have attacked the contacts problem. For example, let's say I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, etc. A contact could be an individual or a group or company. For example, I might have three doctors working as a group called Plank Road Medical. You need to keep track of both the individual doctors and their contact info and the contact info for the group. Also the fact that they are all associated. Do you: A. Have a table for every possible type of contact? or B. Have one contact table which includes a contact "type". and the second question; how do you handle companies vs. individuals and link the two? Do you: A. Have a separate table for companies. B. Have a flag which indicates if the contact is a company or an individual and self-join to your single table. I know the right answer, but I'm wondering what everyone feels is the practical answer. Given the recent thread on Lookups, this is probably a good topic for discussion. Jim. -- From rl_stewart at highstream.net Wed May 9 18:01:19 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Wed, 09 May 2007 18:01:19 -0500 Subject: [AccessD] A database design for contacts In-Reply-To: References: Message-ID: <200705101238.l4ACcR1N030188@databaseadvisors.com> Jim, I did not consider contacts as the thing I was designing for, I thought of it as names in general. Having designed one that is being sold as part of a package, I designed it as follows: tblName - any kind of name tblNameRelationship - Relates names to each other and how they are related. related to tblName 2 ways NameID and RelatedNameID tblNameNametype - all the types that a name can be since name can be of more than one type. related to tblName and tlkpNameType tblNameAddress - all addresses associated with a name linked to tblName tblNameAddressType - all of the types associated with a specific address linked to tblNameAddreas and tlkpAddressType tblNamePhones - all phone numbers associated with a name liked to tblName and tlkpPhoneType tblNameEmail - all email addresses associated with a name liked to tblName and tlkpEmailType tlkpNameType - a list of all the types of names used tlkpAddressType - a list of all address types tlkpPhoneType - a list of all phone types tlkpEmailType - a list of all email types The design above would allow you to associate a doctor with a practice, a clinic, and a hospital. It is extremely flexible. At 04:32 PM 5/9/2007, you wrote: >Date: Wed, 09 May 2007 15:37:15 -0400 >From: "Jim Dettman" >Subject: [AccessD] A database design for contacts.... >To: "'Access Developers discussion and problem solving'" > >Message-ID: <002b01c79271$738d0550$8abea8c0 at XPS> >Content-Type: text/plain; charset="us-ascii" > >Hi All, > > In light of recent discussions on lookup tables, I'm curious on how >different people have attacked the contacts problem. For example, let's say >I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, >etc. A contact could be an individual or a group or company. For example, >I might have three doctors working as a group called Plank Road Medical. >You need to keep track of both the individual doctors and their contact info >and the contact info for the group. Also the fact that they are all >associated. > > Do you: > >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an individual >and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the >practical answer. Given the recent thread on Lookups, this is probably a >good topic for discussion. > >Jim. > From Lambert.Heenan at AIG.com Thu May 10 08:11:46 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 09:11:46 -0400 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reade r Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DCFB@xlivmbx35.aig.com> That was my take of the subject too. On topic. As for the solution to the problem... It's plain that he cannot just ask the OS to use the registered application to open the file, so perhaps the answer is to give the ability to choose which application will open PDF files with, by letting the user browse to the location of the of the .exe to be used. This would be a "one-time" setup action. Then, assuming some generic fHandleFile() (http://www.mvps.org/access/api/api0018.htm) routine is being used to open registered file type, an exception can be added such that if the file type is .pdf and an alternate app. has been selected, go use the Access registered app. instead of the Windows registered one. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Thursday, May 10, 2007 8:29 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 09, 2007 10:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ebarro at verizon.net Thu May 10 08:11:52 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 10 May 2007 06:11:52 -0700 Subject: [AccessD] [dba-VB] VB.Net - XML comments In-Reply-To: <000d01c792fb$1743bbb0$657aa8c0@m6805> Message-ID: <0JHT00080TZNNB51@vms044.mailsrvcs.net> Did you mean to say "how do I strip the XML tags and end up with just the content"? You can use regular expressions to strip off XML or HTML tags. This is the syntax I use (for VB.NET or C#)... NewTextValue.Text = Regex.Replace(OriginalTextValue,@"<(.|\n)*?>",string.Empty); -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 5:02 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - XML comments I am using xml comments in place of my regular old comments. Has anyone ever found / used something that yanks the comments out to see what they look like as documentation? What would I use to do that? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 08:19:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 09:19:16 -0400 Subject: [AccessD] Moving Outlook - let me waste my day Message-ID: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby From Lambert.Heenan at AIG.com Thu May 10 08:30:38 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 08:30:38 -0500 Subject: [AccessD] Moving Outlook - let me waste my day Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD16@xlivmbx35.aig.com> Ain't this a tad off topic? :-) Try gMail? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 9:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 08:49:12 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 09:49:12 -0400 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD16@xlivmbx35.aig.com> Message-ID: <20070510134918.BBF3CBEFA@smtp-auth.no-ip.com> LOL, VERY off topic. Put it under "application design" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 10, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Moving Outlook - let me waste my day Ain't this a tad off topic? :-) Try gMail? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 9:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. 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 ssharkins at setel.com Thu May 10 09:03:56 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 10:03:56 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> Message-ID: <006b01c7930c$0d470fc0$0632fad1@SusanOne> On 5/9/07, Susan Harkins wrote: > Found my error... > > Set doc = appWord.Documents("CustomerSlip.doc") > Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , > True) > > I thought it was an either/or, but apparently it isn't -- you have to > set the document name AND include the document's name in the Open method. It is an either/or. The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. Susan H. From John.Clark at niagaracounty.com Thu May 10 09:09:49 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 10:09:49 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <4642EF6B.167F.006B.0@niagaracounty.com> I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From bbruen at unwired.com.au Thu May 10 09:03:15 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:03:15 +1000 Subject: [AccessD] VB.Net - XML comments In-Reply-To: <000d01c792fb$1743bbb0$657aa8c0@m6805> References: <000d01c792fb$1743bbb0$657aa8c0@m6805> Message-ID: <200705110003.18204.bbruen@unwired.com.au> John, If, as I believe you are, using #D there is an ndoc link available that produces A1 documentation - but its a bit of a learning curve (for me about 6-8 hours, for you about 2-3??? :-) On Thursday 10 May 2007 22:02, JWColby wrote: > I am using xml comments in place of my regular old comments. Has anyone > ever found / used something that yanks the comments out to see what they > look like as documentation? What would I use to do that? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com -- regards Bruce From bbruen at unwired.com.au Thu May 10 09:09:11 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:09:11 +1000 Subject: [AccessD] A database design for contacts.... In-Reply-To: References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <200705110009.11960.bbruen@unwired.com.au> A quick pointer, hopefully. OASYS has done a lot of work on person/address/contatc statndardisation. I dont have the link but IIRC you can at it through OMG. -- regards Bruce From markamatte at hotmail.com Thu May 10 09:22:23 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 14:22:23 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: Hello All, In A97 I have isolated my newest problem. I using the following to output a report to excel: DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathTemp1 The machine in question has excel 03...and when it tries to open the file created above...I get an error: "an invalid sheetname was used and had to be corrected" I looked at this file on a box with just office 97...and the sheetname was Sheet1...no problems...I can manually change it back to Sheet1 and it saves fine. Any one have any ideas? Thanks, Mark A. Matte >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 09 May 2007 18:26:50 +0000 > >Thanks John, > >I didn't know how to use a recordset...because the data I wanted out went >through some heavy formatting in the report. Thats why I think I am stuck >with the OUTPUTTO method, unless I choose to do all of my formatting after. > The report's formatting is dependant on user input...they decide what >columns are included, what order the columns are in, and the columns are >colored depending what order they are selected in. Most of this is done >behind the report in VBA. > >That part I finished...and with the last input from Shamil...I got the >sheets into 1 workbook. > >Thanks to All for the support and suggestions. > >Thanks again, > >Mark A. Matte > > >>From: "John Skolits" >>Reply-To: Access Developers discussion and problem >>solving >>To: "'Access Developers discussion and problem >>solving'" >>Subject: Re: [AccessD] Report to Excel_ >>Date: Wed, 9 May 2007 14:05:32 -0400 >> >>I just tried this.. >> >>After I pasted my data, I then added another worksheet like this: >> >>objXLBook.Worksheets.Add >> >>Then I referred to it as objXLBook.Worksheets(2) >> >>And was then able to paste data into another sheet in the same workbook. >> >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Wednesday, May 09, 2007 10:26 AM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Report to Excel_ >> >>Thanks John, >> >>I got the formatting the way I needed it...I used the report to determine >>what order the columns would be in...and then changed the font,color,etc >>in >>excel. >> >>Now I just need to get the sheets into a single workbook. >> >>Thanks, >> >>Mark >> >> >> >> >From: "John Skolits" >> >Reply-To: Access Developers discussion and problem >> >solving >> >To: "'Access Developers discussion and problem >> >solving'" >> >Subject: Re: [AccessD] Report to Excel_ >> >Date: Tue, 8 May 2007 18:02:47 -0400 >> > >> >Mark, >> > >> >I've been kind-of following this thread and thought I'd share my code >>with >> >you. >> >It may not help you with what you're doing, but it's a slightly >>different >> >approach. >> >I use an Excel sheet as a template to do some of my formatting. I open >>it, >> >use the CopyFromRecordset function to paste the data into Excel, then do >>a >> >"Save AS". The nice thing about the template is you can make a >>formatting >> >change to it instead of having to do it in the code. There will probably >>be >> >some need to still do some vba-code formatting of the spreadsheet, but >>this >> >can cut down on some of the coding. >> > >> >Note: You can't paste the code below and run it because I cut it up a >> >little >> >to make it more succinct, but it may give you some other ideas. I also >>have >> >some error trapping codes at the end that may help. >> > >> >John >> >---- >> > >> > >> >Private Sub btnExportToExcelX() >> > >> >On Error GoTo Err_btnExportToExcel >> > >> >Dim objXLBook As Excel.Workbook >> >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >> >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >> >Dim objResultsSheet As Excel.Worksheet >> >Dim intMaxCol As Integer >> >Dim intMaxRow As Integer >> >Dim strExportFilename As String, strFullXLTemplateFilename As String >> > >> >strExportFilename =TestWorkbook.xls" >> >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" >> > >> >Set objXLBook = GetObject(strFullXLTemplateFilename) >> >Set objXLApp = objXLBook.Parent >> >Set objResultsSheet = objXLBook.Worksheets(1) >> > >> >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") >> > rsFinalBidQuery.MoveLast >> > rsFinalBidQuery.MoveFirst >> > >> > '*Store the data in the worksheet >> > intMaxCol = rsFinalBidQuery.Fields.Count >> > If rsFinalBidQuery.RecordCount > 0 Then >> > intMaxRow = rsFinalBidQuery.RecordCount >> > With objXLApp >> > With objResultsSheet >> > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >> >intMaxCol)).CopyFromRecordset rsFinalBidQuery >> > End With >> > End With >> > End If >> > >> >rsFinalBidQuery.Close >> > >> >'Add some values to specific defined cells >> >objResultsSheet.Range("PartNum").Value = "PN# 1234" >> >objResultsSheet.Range("PartDesc").Value = "Description" >> > >> >objXLBook.Parent.Windows(objXLBook.Name).Visible = True >> > >> >'Save it as a new name >> >objXLBook.SaveAs strExportFilename >> >objXLApp.Visible = True >> > >> >' Release the object variable >> >Set objXLBook = Nothing >> > >> >BuildXLBidReport_EXIT: >> >Set rsFinalBidQuery = Nothing >> > >> >DoCmd.Hourglass False >> >DoCmd.Echo True >> > >> >Exit Sub >> > >> >BuildXLBidReport_ERR: >> > >> >'If user picks to cancel the opening of the worksheet because of the >>excel >> >macro message this error occurs >> >If Err = 287 Then Resume BuildXLBidReport_EXIT >> > >> >If Err = 70 Then >> > MsgBox " Make sure this worksheet **" & strExportFilename & "** >>isn't >> >alreday open.", 64, "Excel Sheet Open" >> > Resume BuildXLBidReport_EXIT >> >End If >> >If Err = 1004 Then >> > MsgBox " Make sure this worksheet **" & strExportFilename & "** >>isn't >> >alreday open.", 64, "Excel Sheet Open" >> > objXLBook.Application.Quit >> > ' Release the object variable >> > Set objXLBook = Nothing >> > Resume BuildXLBidReport_EXIT >> >End If >> > >> >'Display the error >> > >> > Dim strCallingObject As String >> > strCallingObject = "BuildXLBidReport" & " " & >> >Application.CurrentObjectName & " Line: " & Erl >> > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) >> > Resume BuildXLBidReport_EXIT >> > >> > Dim oApp As Object >> > >> > Set oApp = CreateObject("Excel.Application") >> > oApp.Visible = True >> > 'Only XL 97 supports UserControl Property >> > On Error Resume Next >> > oApp.UserControl = True >> > >> >Exit_btnExportToExcel: >> > Exit Sub >> > >> >Err_btnExportToExcel: >> > MsgBox Err.Description >> > Resume Exit_btnExportToExcel >> > >> >End Sub >> > >> > >> > >> >-- >> >AccessD mailing list >> >AccessD at databaseadvisors.com >> >http://databaseadvisors.com/mailman/listinfo/accessd >> >Website: http://www.databaseadvisors.com >> >>_________________________________________________________________ >>Like the way Microsoft Office Outlook works? Youll love Windows Live >>Hotmail. >>http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >>n_HM_mini_outlook_0507 >> >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Like the way Microsoft Office Outlook works? You?ll love Windows Live >Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From bbruen at unwired.com.au Thu May 10 09:16:49 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:16:49 +1000 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <200705110016.50376.bbruen@unwired.com.au> This may amuse you. but... AFAIC moving the mailbox / setup in Outlook is trivial compared to moving a linux mail client, the config and data is spread out over ~6 directories and most of the B****rs are hidden. 1 day - ha! Bet you even stopped for lunch, last time I upgraded it took me 5 days to get mail back on an even keel. Still, I'm sticking to linux. Only got one M$ box left for client work, I suppose I could move it to VM but seeing its a 10 year old Gateway notebook thats still just chugging away ... On Thursday 10 May 2007 23:19, jwcolby wrote: > My notebook is giving me blue screens, so I moved Outlook to another > machine. Now I have to set it up again. Who designed this beast? The > mail transferred in the PST. The contacts transferred. The email accounts > did not. The look did not. I am totally lost trying to figure out how to > make the damned thing operate the way it used to. Using the registry is a > GREAT CONCEPT, but in operation just sucks. > > Note to self, if I am ever going to use the registry to store operational > settings, provide a "move" method for taking those settings to a new > machine. > > Note to Microsoft, DO THE SAME!!! > > Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a > single thing. Stuff is scattered from here to hell and back. > > I found this. > > http://office.microsoft.com/en-us/outlook/HA010549451033.aspx > > Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email > from one place to another. > > Rant mode off > > Don't have a signature, haven't found that yet. > > John W. Colby -- regards Bruce From Lambert.Heenan at AIG.com Thu May 10 09:27:15 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 09:27:15 -0500 Subject: [AccessD] Access at a distance Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD83@xlivmbx35.aig.com> John, It will certainly be slow, although I've had people using one of my apps over a cable modem VPN connection and it was just about usable. In general, all the processing is done on the local machine, so it pulls a lot of data down the line that winds up not being used. With good indexing this can be reduced, but it's still pretty slow IMHO. You may want to look into replication, which gives the remote office a copy of the data and they would synchronize from time to time - once a week, day? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 10:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From fuller.artful at gmail.com Thu May 10 09:27:29 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 10:27:29 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <29f585dd0705100727i54a005f6vd0e44b46c4ec6508@mail.gmail.com> I would suggest using Terminal Services, but that might be out of the price range. It requires a dedicated machine that would run Terminal Services and anyone remote would log onto that machine. The performance is just as if they were there, and you can take the concept way past two machines. Arthur On 5/10/07, John Clark wrote: > > I've got a question, which I've never had answered satisfactorily. Does > Access pull the entire DB over a line, when accessed remotely, or does it > just pull a sub-set of the date, as requested by a query? > > The reason I am asking is that we have an Access DB, designed by the > state, that is currently being used in a Niagara Falls department. They have > another office in Lockport, which is about 20-25 miles, to the East, and > they just asked that we install this program (the client) on two PCs in the > Lockport office. > > I think that it is going to run dog slow, because whenever I've tried to > run a few programs I have up there, from my desk...also in Lockport...it is > very slow. I don't mind so much, because I am usually just checking things > out, or troubleshooting something, but if I have to do anything major, I > copy it down to my PC to do the work, and then load it back up. > > My boss seems to think it is fine. He said, at his former company they ran > an Access app between Niagara Falls and Dallas, and it was slow but doable. > He said an operation that ran in 2 sec., would now take about 20 sec.. This > is fine for someone like me, to do something once in a while, but a data > entry person will go nuts w/these times. > > So, basically I am looking for some definitive information regarding this, > so that I can make a better decision about going ahead w/this. > > Thank you! > > John W Clark > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From john at winhaven.net Thu May 10 09:29:15 2007 From: john at winhaven.net (John Bartow) Date: Thu, 10 May 2007 09:29:15 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> References: <000b01c792ab$ee23b950$0200a8c0@danwaters><024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> Message-ID: <009901c7930f$96eebf90$6402a8c0@ScuzzPaq> If his system is an Access system that is certainly true and if so I retract the statement that it is off-topic. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. From ssharkins at setel.com Thu May 10 09:30:27 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 10:30:27 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <000301c7930f$c1abc200$4cbc2ad1@SusanOne> John, If possible, use disconnected recordsets to retrieve data from the network, work with locally, and then submit back to the network for batch updates. If data entry doesn't need to be live, that's a good solution, unless of course, you've got several data entry operators working on the same records -- that can spell trouble with the batch updates. If that's the case, you need to consider replication, which is a completely different critter. Susan H. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. From bbruen at unwired.com.au Thu May 10 09:29:08 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:29:08 +1000 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <200705110029.09974.bbruen@unwired.com.au> John, Fundamentally, AFAIK, Access will use a full cursor transfer for each SQL access to the data. So if your app is not tuned for network performance using FE/client side queries instead of BE/server queries, you get the full cursor transfer everytime you access the BE. Note, SELECT f1,f2,..fn from T1 JOIN T2,..Tn WHERE blah=blahblah; executed from the client side will get you the whole damn dataset as it is the client that is executing the SQL parsing and processing. IOW you are transferring the entire set of tables from T1 to Tn. AFAIK, this is still true at A23k. What I dont know (thankfully) is whether the age old problem of cursor transfer via Novell still exists, as (thankfully) I haven't been exposed to that notworking protocol for over 5 years... and with a bit of luck... On Friday 11 May 2007 00:09, John Clark wrote: > I've got a question, which I've never had answered satisfactorily. Does > Access pull the entire DB over a line, when accessed remotely, or does it > just pull a sub-set of the date, as requested by a query? > > The reason I am asking is that we have an Access DB, designed by the state, > that is currently being used in a Niagara Falls department. They have > another office in Lockport, which is about 20-25 miles, to the East, and > they just asked that we install this program (the client) on two PCs in the > Lockport office. > > I think that it is going to run dog slow, because whenever I've tried to > run a few programs I have up there, from my desk...also in Lockport...it is > very slow. I don't mind so much, because I am usually just checking things > out, or troubleshooting something, but if I have to do anything major, I > copy it down to my PC to do the work, and then load it back up. > > My boss seems to think it is fine. He said, at his former company they ran > an Access app between Niagara Falls and Dallas, and it was slow but doable. > He said an operation that ran in 2 sec., would now take about 20 sec.. This > is fine for someone like me, to do something once in a while, but a data > entry person will go nuts w/these times. > > So, basically I am looking for some definitive information regarding this, > so that I can make a better decision about going ahead w/this. > > Thank you! > > John W Clark -- regards Bruce From john at winhaven.net Thu May 10 09:49:44 2007 From: john at winhaven.net (John Bartow) Date: Thu, 10 May 2007 09:49:44 -0500 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <00ae01c79312$733424c0$6402a8c0@ScuzzPaq> Hi John, IIRC, the dba-tech archives may hold a good solution for moving outlook to a new machine. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 8:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Thu May 10 10:15:55 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 08:15:55 -0700 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <0JHT00B2FZJ24230@l-daemon> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 10 10:11:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 10 May 2007 08:11:58 -0700 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <200705092159450390.155A85FE@mail.cablespeed.com> References: <007601c7927e$248a5a90$657aa8c0@m6805> <200705092159450390.155A85FE@mail.cablespeed.com> Message-ID: VB.Net definitely has regular expressions, and I find them easier to use there than in VB/VBA. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Bahr Sent: Wednesday, May 09, 2007 7:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - cut and trim Hi John, have you looked at regular expressions?? You can do a lot of things in one line. I know VB 6 had them and VB.net should also have them. Mike... *********** REPLY SEPARATOR *********** On 5/9/2007 at 5:08 PM JWColby wrote: >I am looking at how to do in VB.Net what in VBA would be str = >trim(mid(str,intStartPos, intLen)) > >I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > >Given what I know about VB.Net (not very darned much) is this the best way? >I see where the string builder can do the substring part but it does >not have a trim method. > >John W. Colby >Colby Consulting >www.ColbyConsulting.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 John.Clark at niagaracounty.com Thu May 10 10:14:13 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 11:14:13 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <200705110029.09974.bbruen@unwired.com.au> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> <200705110029.09974.bbruen@unwired.com.au> Message-ID: <4642FE83.167F.006B.0@niagaracounty.com> This is one of the things I am unsure about, but it may come down to terminology. You mention FE queries vs. BE queries. My programs all have FE programs calling BE data, and the queries are all contained in the FE. Is this all you mean, or am I missing something? Also, what do you mean by, "full cursor" and "cursor transfer?" >>> Bruce Bruen 5/10/2007 10:29 AM >>> John, Fundamentally, AFAIK, Access will use a full cursor transfer for each SQL access to the data. So if your app is not tuned for network performance using FE/client side queries instead of BE/server queries, you get the full cursor transfer everytime you access the BE. Note, SELECT f1,f2,..fn from T1 JOIN T2,..Tn WHERE blah=blahblah; executed from the client side will get you the whole damn dataset as it is the client that is executing the SQL parsing and processing. IOW you are transferring the entire set of tables from T1 to Tn. AFAIK, this is still true at A23k. What I dont know (thankfully) is whether the age old problem of cursor transfer via Novell still exists, as (thankfully) I haven't been exposed to that notworking protocol for over 5 years... and with a bit of luck... From ssharkins at setel.com Thu May 10 10:20:51 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:20:51 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000001c79316$cd74dca0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From ssharkins at setel.com Thu May 10 10:25:19 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:25:19 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000801c79317$6bfef3b0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From ssharkins at setel.com Thu May 10 10:22:39 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:22:39 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000701c79317$0c94d5c0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From fuller.artful at gmail.com Thu May 10 10:35:44 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 11:35:44 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: References: <007601c7927e$248a5a90$657aa8c0@m6805> <200705092159450390.155A85FE@mail.cablespeed.com> Message-ID: <29f585dd0705100835h396d8972i3a8c05abe7af2a75@mail.gmail.com> So back to JC's intentions, and this is strictly a WAG, but suppose JC exported everything to text files and then renamed them to *.js for example. Then he could run JSDoc against the whole directory and it would emit all the xml columns. I'm not saying it would work, but JSDoc extracts XML comments from its source files. So it might work. A. On 5/10/07, Charlotte Foust wrote: > > VB.Net definitely has regular expressions, and I find them easier to use > there than in VB/VBA. > > Charlotte Foust > > From fuller.artful at gmail.com Thu May 10 10:46:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 11:46:07 -0400 Subject: [AccessD] Excel to MDB Message-ID: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Imagine this, if you will: A potential client invented an Excel system for doing estimates and orders. Each estimate or order is a separate file. There are subdirs named for each client. There are now hundreds of Excel files. Now the potential client has realized the error of his ways and wants to import everything into an Access db and stop using Excel. I haven't seen the data yet, so I can only hope and pray that the Excel files all work from the same template. Otherwise all hell breaks lose. But supposing that in this best of all possible worlds, all the Excel files are structurally similar. I already know how to talk to a given Excel file and extract its contents into various tables. What I don't know is how to walk the directory tree and examine and extract from every file I find in said tree. I think it has something to do with the Dir() function, but I've forgotten. TIA, Arthur From John.Clark at niagaracounty.com Thu May 10 11:02:06 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 12:02:06 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <0JHT00B2FZJ24230@l-daemon> References: <4642EF6B.167F.006B.0@niagaracounty.com> <0JHT00B2FZJ24230@l-daemon> Message-ID: <464309BC.167F.006B.0@niagaracounty.com> It not my program...I didn't write it. It was written by the state...actually a contractor working w/the state...and there is an actual client install that we have to do. So I don't think altering it at all is an option. >>> Jim Lawrence 5/10/2007 11:15 AM >>> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Thu May 10 11:15:51 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 10 May 2007 18:15:51 +0200 Subject: [AccessD] Access at a distance Message-ID: Hi John Then find a WinXP box and install: http://www.thinsoftinc.com/product_thin_client_winconnect_server_xp.aspx Piece of cake to set up. Minimum license count is 3 and max. is 21- should fit nicely. And license handling is much easier than the crazy system for Terminal Server. /gustav >>> John.Clark at niagaracounty.com 10-05-2007 18:02 >>> It not my program...I didn't write it. It was written by the state...actually a contractor working w/the state...and there is an actual client install that we have to do. So I don't think altering it at all is an option. >>> Jim Lawrence 5/10/2007 11:15 AM >>> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From accessd at shaw.ca Thu May 10 12:39:26 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 10:39:26 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: Message-ID: <0JHU00G0F668Q3B1@l-daemon> OT AJAX Hi all: This question is totally off-topic but the list members here have an incredible berth and depth of knowledge and I am sure someone will know or know where to look. For anyone here that has worked with AJAX/XML by default the information coming back from the server only supports 128 bit ASCII. That is great for straight English but any other single byte language, 256 bits is a minimum. Has anyone ran across a solution or knows where to find a solution? If so many thanks is advance. (...have researched a number of potential solutions but have been unable to either get them to work or have them fall-over with one client or another.) Jim From hollisvj at pgdp.usec.com Thu May 10 13:35:58 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Thu, 10 May 2007 13:35:58 -0500 Subject: [AccessD] Mouse Scroll Message-ID: <703BDA18A87DFA4CB265A86F42E4178D02491A9E@c2k3exchange.pgdp.corp.usec.com> I know years ago, someone had code that disables the scroll button on the mouse. I can't find where I put it.... Can someone send it to me again? Virginia From markamatte at hotmail.com Thu May 10 14:05:33 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 19:05:33 +0000 Subject: [AccessD] Mouse Scroll In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D02491A9E@c2k3exchange.pgdp.corp.usec.com> Message-ID: Virginia, I have responded off-list with a module and an attached DLL. Good luck, Mark A. Matte >From: "Hollis, Virginia" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: [AccessD] Mouse Scroll >Date: Thu, 10 May 2007 13:35:58 -0500 > >I know years ago, someone had code that disables the scroll button on >the mouse. I can't find where I put it.... Can someone send it to me >again? > > > >Virginia > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From martyconnelly at shaw.ca Thu May 10 14:26:29 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 12:26:29 -0700 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> References: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: <464371E5.7080102@shaw.ca> You can do with Dir but I find the recursion easier with FSO Sub test() 'List all files and directories under a folder recursively Dim oFSO As Object Set oFSO = CreateObject("Scripting.FileSystemObject") ListFiles oFSO, "C:\Access files\Directories" Set oFSO = Nothing End Sub Function ListFiles(oFSO As Object, FolderName As String) Dim pFile As Object 'Scripting.File Dim pFolder As Object 'Scripting.Folder Dim oFolder As Object 'Scripting.Folder With oFSO.GetFolder(FolderName) Debug.Print "Folder ---- "; EndSlash(FolderName) For Each pFile In .Files Debug.Print " ---- "; pFile.Name; pFile.DateLastModified Next For Each pFolder In .subFolders ListFiles oFSO, pFolder.path Next End With End Function Function EndSlash(sPath) If Not Right(sPath, 1) = "\" Then sPath = sPath & "\" EndSlash = sPath End Function Arthur Fuller wrote: >Imagine this, if you will: > >A potential client invented an Excel system for doing estimates and orders. >Each estimate or order is a separate file. There are subdirs named for each >client. There are now hundreds of Excel files. > >Now the potential client has realized the error of his ways and wants to >import everything into an Access db and stop using Excel. > >I haven't seen the data yet, so I can only hope and pray that the Excel >files all work from the same template. Otherwise all hell breaks lose. > >But supposing that in this best of all possible worlds, all the Excel files >are structurally similar. I already know how to talk to a given Excel file >and extract its contents into various tables. What I don't know is how to >walk the directory tree and examine and extract from every file I find in >said tree. I think it has something to do with the Dir() function, but I've >forgotten. > >TIA, >Arthur > > -- Marty Connelly Victoria, B.C. Canada From markamatte at hotmail.com Thu May 10 14:53:40 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 19:53:40 +0000 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: Arthur, I have a 'thrown together' db in A97(very ugly)...but you point it at a folder/directory...it goes in and creates a table with every folder and subfolder. The next pass it uses these folder names to search for *.mdb(can be changed to *.xls) and records size and location. The first loop is not very efficient but it gets the job done, I just never had time to tweak it. It might be suitable for your situation. I can send a copy off-list if you like. Thanks, Mark A. Matte >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: [AccessD] Excel to MDB >Date: Thu, 10 May 2007 11:46:07 -0400 > >Imagine this, if you will: > >A potential client invented an Excel system for doing estimates and orders. >Each estimate or order is a separate file. There are subdirs named for each >client. There are now hundreds of Excel files. > >Now the potential client has realized the error of his ways and wants to >import everything into an Access db and stop using Excel. > >I haven't seen the data yet, so I can only hope and pray that the Excel >files all work from the same template. Otherwise all hell breaks lose. > >But supposing that in this best of all possible worlds, all the Excel files >are structurally similar. I already know how to talk to a given Excel file >and extract its contents into various tables. What I don't know is how to >walk the directory tree and examine and extract from every file I find in >said tree. I think it has something to do with the Dir() function, but I've >forgotten. > >TIA, >Arthur >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From martyconnelly at shaw.ca Thu May 10 15:18:07 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 13:18:07 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JHU00G0F668Q3B1@l-daemon> References: <0JHU00G0F668Q3B1@l-daemon> Message-ID: <46437DFF.1000303@shaw.ca> I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada From markamatte at hotmail.com Thu May 10 15:32:25 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 20:32:25 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: Any other thoughts on this? Thanks, Mark >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Conference Dates >Date: Fri, 04 May 2007 20:27:04 +0000 > >I could pick...but I really want it convenient for as many people as >possible. Since I'm only 1.5 hours away...almost any dates are good for >me. > >With that being said...June 23 weekend? > >Thanks, > > >Mark A. Matte > > >>From: "JWColby" >>Reply-To: Access Developers discussion and problem >>solving >>To: "'Access Developers discussion and problem >>solving'" >>Subject: Re: [AccessD] Conference Dates >>Date: Fri, 4 May 2007 16:11:26 -0400 >> >>There isn't but let's schedule one. The first person to pick a date gets >>to >>have it on a date convenient to him / her. Not the first two weeks of >>July >>'cause I'm on vacation those two weeks. Blowin bubbles. >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Friday, May 04, 2007 3:43 PM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Conference Dates >> >>JC, >> >>Is there a conference at your place scheduled? >> >>Thanks, >> >>Mark >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Watch free concerts with Pink, Rod Stewart, Oasis and more.? Visit MSN In >Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From accessd at shaw.ca Thu May 10 15:55:27 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 13:55:27 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <46437DFF.1000303@shaw.ca> Message-ID: <0JHU0000IF8XXQQ0@l-daemon> Hi Marty: I do understand your comments about UTF encoding but I have not been able to resolve the issue even though, on the surface, it would seem to be simple. See the following site, page and app sample and this will demonstrate the issue that I am having and maybe the code will suggest a solution. It should be straight-forward but I have just missed some small point: http://online.creativesystemdesigns.com/projects/programming.asp TIA Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 1:18 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 16:35:42 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 17:35:42 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates In-Reply-To: Message-ID: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Well, since you were the only one to propose a date, June 23rd it is. ATTENTION ALL ACCESSD MEMBERS, on the weekend of June 23rd, Mark Matte and I will be having an AccessD conference at my house in Hudson, NC. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. Remember, all I do all day is blow bubbles and poke at Charlotte with a stick, so I am flexible. If the number of attendees is small enough, it will be held in my dark (but dry) basement (I have lights, and a few windows, but it is an unfinished basement). If attendance is really small, we will meet in my office upstairs. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 10, 2007 4:32 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Conference Dates Any other thoughts on this? Thanks, Mark From martyconnelly at shaw.ca Thu May 10 19:12:00 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 17:12:00 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JHU0000IF8XXQQ0@l-daemon> References: <0JHU0000IF8XXQQ0@l-daemon> Message-ID: <4643B4D0.5060703@shaw.ca> I can't see the code for the ASP page as an example "http://online.creativesystemdesigns.com/projects/programming3.asp?pcode=1,&position=1" So as far as I understand, one way is to encode your ASP documents as UTF-8 and indicate the encoding as the code page (UTF-8 is code page 65001 e.g. There are probably are other methods. Something like this <%@ Language="VBScript" CodePage="65001" %> <% Response.ContentType = "text/plain; charset=UTF-8" For Each Key In Request.Form Response.Write Key & "=" & Request.Form(Key) & VbCrLf Next Response.Write "Original request data: " & Request.Form & VbCrLf %> or maybe something like Response.ContentType = "text/xml" Response.CharSet = "UTF-8" oOutputDOM.save Response That way ASP will properly decode the data send as application/x-www-form-urlencoded; charset=UTF-8 automatically, there Jim Lawrence wrote: >Hi Marty: > >I do understand your comments about UTF encoding but I have not been able to >resolve the issue even though, on the surface, it would seem to be simple. > >See the following site, page and app sample and this will demonstrate the >issue that I am having and maybe the code will suggest a solution. It should >be straight-forward but I have just missed some small point: >http://online.creativesystemdesigns.com/projects/programming.asp > >TIA >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Thu May 10 19:33:02 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 10 May 2007 17:33:02 -0700 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: <007001c79363$ef9e68d0$0501a8c0@HAL9005> A: Use File Scripting Object. Do you have to look at all the worksheets in the workbook too? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 10, 2007 8:46 AM To: Access Developers discussion and problem solving Subject: [AccessD] Excel to MDB Imagine this, if you will: A potential client invented an Excel system for doing estimates and orders. Each estimate or order is a separate file. There are subdirs named for each client. There are now hundreds of Excel files. Now the potential client has realized the error of his ways and wants to import everything into an Access db and stop using Excel. I haven't seen the data yet, so I can only hope and pray that the Excel files all work from the same template. Otherwise all hell breaks lose. But supposing that in this best of all possible worlds, all the Excel files are structurally similar. I already know how to talk to a given Excel file and extract its contents into various tables. What I don't know is how to walk the directory tree and examine and extract from every file I find in said tree. I think it has something to do with the Dir() function, but I've forgotten. TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 5/9/2007 3:07 PM From carbonnb at gmail.com Thu May 10 20:43:16 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Thu, 10 May 2007 21:43:16 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000801c79317$6bfef3b0$ba32fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> <000801c79317$6bfef3b0$ba32fad1@SusanOne> Message-ID: On 5/10/07, Susan Harkins wrote: > +++++++++Bryan -- I tested it this morning and it works fine as either/or -- > I have no idea why I couldn't get it right yesterday. But you are correct, > and it's working as expected now. Thanks! Another fine MSism :) Sometimes it's just a reboot that cures the problem. -- 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 BarbaraRyan at cox.net Thu May 10 20:52:35 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Thu, 10 May 2007 21:52:35 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates References: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Message-ID: <014501c7936f$0c0ba090$0a00a8c0@PCRURI35> I'll be there! Barb Ryan ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 10, 2007 5:35 PM Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates > Well, since you were the only one to propose a date, June 23rd it is. > > ATTENTION ALL ACCESSD MEMBERS, on the weekend of June 23rd, Mark Matte and > I > will be having an AccessD conference at my house in Hudson, NC. Anyone > interested in attending should speak up so that I know how many to plan > for. > > > Anyone who wishes to make a presentation please say so, so that I can make > a > schedule. Individual presentations should be 45 minutes to 1 hour. If > you > have a topic that will take longer, no problem, simply break it down into > 1 > hour segments. If you have something really cool that will only take a > few > minutes, again no problem. The agenda will be sessions from 9am to noon, > 1:30 pm to 4:30 pm on Saturday. I can and will provide enough material to > fill up that time should there be no takers on presentations, but in the > interests of YOUR sanity, consider doing a session on your own subject of > expertise. If there is enough content, we can spill over into Sunday, 1/2 > day or a full day, your choice. If there is HUGE attendance and resulting > HUGE content then we can spill over to either weekday on either side of > the > weekend. > > Remember, all I do all day is blow bubbles and poke at Charlotte with a > stick, so I am flexible. > > If the number of attendees is small enough, it will be held in my dark > (but > dry) basement (I have lights, and a few windows, but it is an unfinished > basement). If attendance is really small, we will meet in my office > upstairs. > > As for the most important issue... I have a largish propane BBQ and will > provide a BBQ dinner on Saturday the 23rd. Donations accepted but never > required. The menu will be Boneless, Skinless chicken breasts a la Sam's > club, a rack of ribs (more if a large turnout), Corn on the cob, sweet > potatoes, potato salad and green salad, and whatever I can rustle up for > desert. If anyone wants to bring or fix something special of their own, > feel free. > > There was a lot of interest for a date in September. I will do a repeat > performance in September if there is still interest. Someone propose a > date > for September. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > Sent: Thursday, May 10, 2007 4:32 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] Conference Dates > > Any other thoughts on this? > > Thanks, > > Mark > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From darrend at nimble.com.au Fri May 11 00:21:03 2007 From: darrend at nimble.com.au (Darren D) Date: Fri, 11 May 2007 15:21:03 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? Message-ID: <200705110521.l4B5L8uS025928@databaseadvisors.com> Hi All >From an access app I wrote - I am opening Enterprise manager for Server 2000 The Access app manages clients ? all of whom have SQL 2000 dBs on the same server I want to click from my access app and hopefully pass some command line switches to Enterprise Manager to get it to open the relevant dB So ? does it have command line switches and if so ? Do ones exist that will suit my needs? Many thanks Have a great day Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 09/05/2007 3:07 PM From stuart at lexacorp.com.pg Fri May 11 00:45:12 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 11 May 2007 15:45:12 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? In-Reply-To: <200705110521.l4B5L8uS025928@databaseadvisors.com> References: <200705110521.l4B5L8uS025928@databaseadvisors.com> Message-ID: <46448F88.31336.2932E937@stuart.lexacorp.com.pg> Since it is a .MSC file which runs in the "Microsoft Management Console", I doubt very much that there is any sort of CLI for it. On 11 May 2007 at 15:21, Darren D wrote: > > I want to click from my access app and hopefully pass some command line switches > to Enterprise Manager to get it to open the relevant dB > From paul.hartland at fsmail.net Fri May 11 05:22:59 2007 From: paul.hartland at fsmail.net (paul.hartland at fsmail.net) Date: Fri, 11 May 2007 12:22:59 +0200 (CEST) Subject: [AccessD] Slightly OT - Creating A Find Form In Visual Basic Like The One In Access Message-ID: <23057916.463731178878979879.JavaMail.www@wwinf3107> To all, I want to put a find button on a form in Visual Basic 6.0, which will then open up a find form similar to the one in Access. Does anyone know how I can do this ?....I am sure it should be simple, but cant for the life of me think how to do it.... Thanks in advance for any help on this.... Paul Hartland paul.hartland at fsmail.net 07730 523179 From ssharkins at setel.com Fri May 11 08:22:54 2007 From: ssharkins at setel.com (Susan Harkins) Date: Fri, 11 May 2007 09:22:54 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne><006b01c7930c$0d470fc0$0632fad1@SusanOne><000801c79317$6bfef3b0$ba32fad1@SusanOne> Message-ID: <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> In this case, it was probably me. :) I've been really sick and on a lot of meds -- I probably just goofed. Susan H. > I have no idea why I couldn't get it right yesterday. But you are > correct, and it's working as expected now. Thanks! Another fine MSism :) Sometimes it's just a reboot that cures the problem. From accessd at shaw.ca Fri May 11 08:54:42 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 11 May 2007 06:54:42 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <4643B4D0.5060703@shaw.ca> Message-ID: <0JHV006IBQFLK9F1@l-daemon> Hi Marty: Thanks for all that information. I will check it out and get back to you. Forgot to mention that the actual working page in an iframe. If anyone is interested, below is a listing of how to use basic AJAX. Here is a program over-view: When an item on the list is selected the JavaScript AJAX is called (function DisplayList). The JavaScript call (AJAX part) calls a server side ASP file that gets the data and returns the data to the now waiting AJAX function. The JS functions insert the data in a panel, turns the panel display mode on and sets the focus to the new panel. The JavaScript functions that do all the data and screen management: // variable are initialized on web page call var xmlHttp var pcode var position function DisplayList(pcode, position) { // Test for compatible browsers xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Your browser does not support AJAX!"); return; } // Point to the server side ASP applet var url="http://online.creativesystemdesigns.com/projects/programming3.asp"; url=url+"?pcode="+pcode; url=url+"&position="+position; // Now wait for a state change... data ready? xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); // Supposed to set data retrieved to UTF-8 ... does not :-( xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlHttp.send(null); } function stateChanged() { // If state = 4 data returned. if (xmlHttp.readyState==4) { // Get the returning data and push it into the panel document.getElementById("ProductList").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari and every other browser // except IE xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer browsers have a couple of option // and the latest release are going comply then there // 3 options for IE. try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function CloseList(ref, code) { // Toggles off or on a screen object. This object is // z-indexed (greater than 1 which is the default) // so it floats above the other objects on screen. var reference = document.getElementById(ref); var box = document.getElementById('localbox'); if (reference.style.display =='none') { DisplayList(code, 1); reference.style.display =''; } else { reference.style.display ='none'; } } Thanks again Marty Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 5:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I can't see the code for the ASP page as an example "http://online.creativesystemdesigns.com/projects/programming3.asp?pcode=1,& position=1" So as far as I understand, one way is to encode your ASP documents as UTF-8 and indicate the encoding as the code page (UTF-8 is code page 65001 e.g. There are probably are other methods. Something like this <%@ Language="VBScript" CodePage="65001" %> <% Response.ContentType = "text/plain; charset=UTF-8" For Each Key In Request.Form Response.Write Key & "=" & Request.Form(Key) & VbCrLf Next Response.Write "Original request data: " & Request.Form & VbCrLf %> or maybe something like Response.ContentType = "text/xml" Response.CharSet = "UTF-8" oOutputDOM.save Response That way ASP will properly decode the data send as application/x-www-form-urlencoded; charset=UTF-8 automatically, there Jim Lawrence wrote: >Hi Marty: > >I do understand your comments about UTF encoding but I have not been able to >resolve the issue even though, on the surface, it would seem to be simple. > >See the following site, page and app sample and this will demonstrate the >issue that I am having and maybe the code will suggest a solution. It should >be straight-forward but I have just missed some small point: >http://online.creativesystemdesigns.com/projects/programming.asp > >TIA >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Fri May 11 09:07:25 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 11 May 2007 07:07:25 -0700 Subject: [AccessD] Agile methologies In-Reply-To: <4643B4D0.5060703@shaw.ca> Message-ID: <0JHV006AER0SK6I1@l-daemon> Hi All: As there has been a bit of a discussion on 'Agile application development methodologies' this week, surprisingly enough an ad for a web cast on that very subject appears in the inbox. Here is a link for those interested: events at cmcrossroads.com I have not followed this link yet so not claims as to content...) Jim From mwp.reid at qub.ac.uk Fri May 11 09:20:31 2007 From: mwp.reid at qub.ac.uk (Martin Reid) Date: Fri, 11 May 2007 15:20:31 +0100 Subject: [AccessD] SQL Question References: <0JHV006AER0SK6I1@l-daemon> Message-ID: Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From Gustav at cactus.dk Fri May 11 09:28:09 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 11 May 2007 16:28:09 +0200 Subject: [AccessD] SQL Question Message-ID: Hi Martin You could try with TOP 1: SELECT TOP 1 [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt /gustav >>> mwp.reid at qub.ac.uk 11-05-2007 16:20 >>> Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From carbonnb at gmail.com Fri May 11 09:30:51 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Fri, 11 May 2007 10:30:51 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> <000801c79317$6bfef3b0$ba32fad1@SusanOne> <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> Message-ID: On 5/11/07, Susan Harkins wrote: > In this case, it was probably me. :) I've been really sick and on a lot of > meds -- I probably just goofed. No. It's MS. I've run into things like this before and a good boot, er reboot works wonders :) -- 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 Elizabeth.J.Doering at wellsfargo.com Fri May 11 09:35:17 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 11 May 2007 09:35:17 -0500 Subject: [AccessD] SQL Question References: <0JHV006AER0SK6I1@l-daemon> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016AAE8A@msgswbmnmsp04.wellsfargo.com> Are you returning one row for each possible date_start_appntmnt? Leave that out of the query, except in the MAX and don't group by it either. You may need to do two separate queries, one for stdnt_nbr, max(date_start_appntmnt) and another for [stdnt_nbr],[pos_crse_cd],[prsn_nbr]. Then you'd do a join of the two result sets to get your desired single row. Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Martin Reid Sent: Friday, May 11, 2007 9:21 AM To: Access Developers discussion and problem solving Subject: [AccessD] SQL Question Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From fhtapia at gmail.com Fri May 11 10:54:07 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Fri, 11 May 2007 08:54:07 -0700 Subject: [AccessD] Interesting for you kung fu masters? In-Reply-To: <0JHR0060H07KFFE0@l-daemon> References: <000201c791cf$f7351f20$657aa8c0@m6805> <0JHR0060H07KFFE0@l-daemon> Message-ID: Jim/John (and all) if you like that, you should really be checking out red-gate's sql compare. It not only does the compare that you are seeing here, but you can do it across servers, In this way you can compare your source database in your dev server against the production server database. It has come in really handy in our environment since I do not allow my developers to create any code on the live servers. If I catch them, they get to deal with me giving them a big lecture, second offense my boss wants me to bring them into his office, but that has not occurred yet. The price is not terrible either, we negotiated with their sql backup and sql compare products and were able to get 2 years of maintenance support for free. So I know this sounds like a commercial, but we also like to discuss products we use to help make our lives easier on this list right?... but one of the features I completly dig about this product (sql compare) is that when my developer completes their code, we can go through the code review... then if all is approved, we push it using this tool to the live server. This product allows you to select everything you need from your dev server against your production server, thus if you changed tables, data types, procedures, views etc... you can select them all for synchronization. You can also choose to just review the script that the program will generate to make the necessary changes and then just run it yourself via query analyzer. the sp_compare is what I used to use before, but then that will waste space if your looking at really large db's.. We also purchased sql-data compare which allows you to look at two tables and synchronize the data... so with our data warehouse when we are running changes, I will bring over a subset of data, and make the necessary changes, then publish the schema back to production without affecting production or causing unnecessary errors. http://red-gate.com/products/SQL_Compare/index.htm You can try the product for 14 days, and extend it for another 10 days (iirc) by typing in "i need more time" in the serial box... I think you can extend the products twice before they deactivate. In addition if you need extra time to evaluate the product you can contact them and they will give you a serial for a slightly longer time-period. Just so you know they don't get a full glowing report from me :). On occasion when I have required support, they have not been the fastest. I've used products from quest software and idera, and both those companies were faster at getting back to me (same day) than red-gate. Though to be fair, I have not had any issues with red-gate products that required such immediate attention such as idera or quest. I hope this info helps you guys. -- Francisco On 5/8/07, Jim Lawrence wrote: > > This is similar to the Backend-Upgrader at the DBA site > (http://www.databaseadvisors.com/downloads.asp) but works for MS SQL > server > instead of MS Access. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 5:21 PM > To: 'Access Developers discussion and problem solving'; > dba-vb at databaseadvisors.com > Subject: [AccessD] Interesting for you kung fu masters? > > www.sql-server-performance.com/vg_database_comparison_sp.asp > > > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From dwaters at usinternet.com Fri May 11 13:07:02 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 13:07:02 -0500 Subject: [AccessD] FE on Server for Each User Message-ID: <002e01c793f7$2d03afd0$0200a8c0@danwaters> I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From cfoust at infostatsystems.com Fri May 11 13:14:10 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 11 May 2007 11:14:10 -0700 Subject: [AccessD] FE on Server for Each User In-Reply-To: <002e01c793f7$2d03afd0$0200a8c0@danwaters> References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: Sounds like a job for Terminal Services or Citrix Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 13:37:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 14:37:50 -0400 Subject: [AccessD] FE on Server for Each User In-Reply-To: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> I think a simpler solution would be a directory on the PC that their user has read/write rights on, with rights to create subdirs, copy files etc. The same name folder on each workstation. Thus the user does not have admin rights, just simple rights to a single directory. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 2:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Denis.Calvo at dgs.ca.gov Fri May 11 13:45:46 2007 From: Denis.Calvo at dgs.ca.gov (Calvo, Denis) Date: Fri, 11 May 2007 11:45:46 -0700 Subject: [AccessD] Query/Forms Update Data In-Reply-To: Message-ID: accessd at databaseadvisors.com Using Access 2002. Our Forms (based on a query) in general allows for data entry. However when I add another specific table and its link to the main source of the query (another table) the query/form prohibits produces results but does not allow for data entry/update? How do i determine what is causing this? i could remove the linked table from the query and the resultant form now allows for updating/data entry once again. I have tried to "look" at all the characteristics of the problem table but find nothing that tells me it would preclude the form's abitlity to update records. Denis Calvo Denis.Calvo at dgs.ca.gov From martyconnelly at shaw.ca Fri May 11 14:23:01 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 11 May 2007 12:23:01 -0700 Subject: [AccessD] Query/Forms Update Data In-Reply-To: References: Message-ID: <4644C295.1040501@shaw.ca> There are a few situations where you end up with a non-updatable query. You can quickly tell if your query is non-updatable by clicking on the run (!) and checking the navigation buttons on the bottom. If the new record (*) is grayed out, then the query is non-updatable. A list of causes for read only queries are: http://www.allenbrowne.com/ser-61.html If still stuck, post your SQL back here Calvo, Denis wrote: >accessd at databaseadvisors.com > >Using Access 2002. Our Forms (based on a query) in general allows for >data entry. However when I add another specific table and its link to >the main source of the query (another table) the query/form prohibits >produces results but does not allow for data entry/update? How do i >determine what is causing this? i could remove the linked table from >the query and the resultant form now allows for updating/data entry once >again. I have tried to "look" at all the characteristics of the problem >table but find nothing that tells me it would preclude the form's >abitlity to update records. > >Denis Calvo >Denis.Calvo at dgs.ca.gov > > > > > -- Marty Connelly Victoria, B.C. Canada From gustav at cactus.dk Fri May 11 16:18:43 2007 From: gustav at cactus.dk (Gustav Brock) Date: Fri, 11 May 2007 23:18:43 +0200 Subject: [AccessD] FE on Server for Each User Message-ID: Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From jwcolby at colbyconsulting.com Fri May 11 16:46:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 17:46:04 -0400 Subject: [AccessD] Clearing the debug window before writing to it Message-ID: <20070511214603.DEA2DBC73@smtp-auth.no-ip.com> When my program runs, hundreds of lines of junk writes to the debug window. I would like to clear all that stuff programmatically before my first debug.print statement. Anyone know how to do that? I can do it from the right click menu in that window. John W. Colby Colby Consulting www.ColbyConsulting.com From dwaters at usinternet.com Fri May 11 16:51:22 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 16:51:22 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> Message-ID: <003801c79416$84894b10$0200a8c0@danwaters> Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 11, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User I think a simpler solution would be a directory on the PC that their user has read/write rights on, with rights to create subdirs, copy files etc. The same name folder on each workstation. Thus the user does not have admin rights, just simple rights to a single directory. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 2:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Fri May 11 16:51:52 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 16:51:52 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: <003901c79416$960379b0$0200a8c0@danwaters> Sure is - but they aren't going that way! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 11, 2007 1:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FE on Server for Each User Sounds like a job for Terminal Services or Citrix Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Fri May 11 17:13:06 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 17:13:06 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: References: Message-ID: <003f01c79419$8d9ae3a0$0200a8c0@danwaters> Hi Gustav, Do you see any problems with the FE being pulled across the network each time the user logs in? My FE is now about 6 Mb, and may go to about 20 Mb. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, May 11, 2007 4:19 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FE on Server for Each User Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 18:24:29 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 19:24:29 -0400 Subject: [AccessD] FE on Server for Each User In-Reply-To: <003801c79416$84894b10$0200a8c0@danwaters> Message-ID: <20070511232429.122DFBC8F@smtp-auth.no-ip.com> This is a windows security issue, but that doesn't mean that a plain old user cannot have rights to a specific directory, even under the C: drive. An administrator has to set the rights for the same dir you used to use, so that that specific user, or even a flunky user group, can have full rights to exactly and only that directory. Having rights to a directory is not the same as having admin rights to the machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 5:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan From dwaters at usinternet.com Fri May 11 19:30:12 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 19:30:12 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: <20070511232429.122DFBC8F@smtp-auth.no-ip.com> References: <003801c79416$84894b10$0200a8c0@danwaters> <20070511232429.122DFBC8F@smtp-auth.no-ip.com> Message-ID: <004001c7942c$b4825260$0200a8c0@danwaters> Good Point! They may be getting specific instructions from their parent company, but I'll certainly see if they are allowed to do this. :-) Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 11, 2007 6:24 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User This is a windows security issue, but that doesn't mean that a plain old user cannot have rights to a specific directory, even under the C: drive. An administrator has to set the rights for the same dir you used to use, so that that specific user, or even a flunky user group, can have full rights to exactly and only that directory. Having rights to a directory is not the same as having admin rights to the machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 5:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 21:19:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 22:19:36 -0400 Subject: [AccessD] VB.Net - Raw data file transform Message-ID: <20070512021936.5A940BDA4@smtp-auth.no-ip.com> Well guys, I have ported the application that transformed my raw data into a pipe delimited "csv" file - from VBA in Access to VB.NET. Preliminary results VERY crudely timed show about 10K records / second, up from about 1K records / second in VBA. I really need to find a timer class for timing code in order to get precise timings on this. As it stands now however, it looks like without any further optimizations, my raw data transform would be the bottleneck, running at 9.7K records / sec, with the SQL Server BULK INSERT running at 15K records / second. If I can get these two processes running in threads so that they process independently, I am now in a position to go pushbutton and import a 100 million record file in ~10K seconds / 166.6 minutes / 2.7 hours. Given that I will soon have the pieces to run unattended this is an acceptable rate for me. This process took days of handholding manual labor to make happen (learning stuff all the way of course) Thanks to all who have helped my in getting the ADO happening out in VB.Net, as well as the Sproc happening in SQL Server. I still have a long way to go to get a complete app in VB.Net and SQL Server. The piece I just ported does the open / parse / strip / write to move the raw fixed width file to pipe delimited. Phase 2 begins immediately. The next piece will automate running the BULK INSERT Sproc from VB.Net, given a set of pipe delimited csv files in a directory and an existing destination table in SQL Server. Once that piece is running, I will need to learn how to run each piece in a separate thread. When both pieces are running simultaneously, I will need to reassess the speed of each piece. I am using a dual proc AMD XP 3800 with 4 gb RAM so hopefully each thread will run on a different proc, though I don't know that. From the little I know I assume there is a way to set the processor affinity of a thread. So much to learn, so little time. But this is just an awesome start and I am happy with the speed gain of the transform process achieved by moving to VB.Net. Again thanks to all who contributed. John W. Colby Colby Consulting www.ColbyConsulting.com From gustav at cactus.dk Sat May 12 02:23:30 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 12 May 2007 09:23:30 +0200 Subject: [AccessD] FE on Server for Each User Message-ID: Hi Dan No. /gustav >>> dwaters at usinternet.com 12-05-07 0:13 >>> Hi Gustav, Do you see any problems with the FE being pulled across the network each time the user logs in? My FE is now about 6 Mb, and may go to about 20 Mb. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, May 11, 2007 4:19 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FE on Server for Each User Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From shamil at users.mns.ru Sat May 12 04:52:27 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 13:52:27 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Message-ID: <000301c7947b$4048ce70$6401a8c0@nant> Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is 2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil From stuart at lexacorp.com.pg Sat May 12 05:13:56 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 12 May 2007 20:13:56 +1000 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... In-Reply-To: <000301c7947b$4048ce70$6401a8c0@nant> References: <000301c7947b$4048ce70$6401a8c0@nant> Message-ID: <46459364.4575.D15D010@stuart.lexacorp.com.pg> On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a database > you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I have > never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart From shamil at users.mns.ru Sat May 12 05:37:31 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 14:37:31 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolickeys... In-Reply-To: <46459364.4575.D15D010@stuart.lexacorp.com.pg> Message-ID: <000001c79481$8be8f2a0$6401a8c0@nant> Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a database > you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I have > never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sat May 12 07:46:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 08:46:40 -0400 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... In-Reply-To: <000301c7947b$4048ce70$6401a8c0@nant> Message-ID: <20070512124640.8002ABD3A@smtp-auth.no-ip.com> Shamil, My Disability Insurance Call Center database has some long chains chains: Underwriter / Policy / Claim / Benefit / BenefitOffset Underwriter / Policy / Claim / Benefit / BeneCheckInfo / Check Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Claimant / Claim / Benefit / BeneCheckInfo / Check In such cases it is not uncommon to have to start at the top of the chain, i.e. "view all checks for policy holder", view all checks for the claimant, view all checks for the underwriter. I do not understand what you mean by "alternative symbolic keys". If you mean fields that would be a natural key FOR THAT TABLE (policy number in the claim table) I do not. I use ONLY surrogate keys, which are always long int autonumbers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 5:52 AM To: 'Access-D' Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is >2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sat May 12 07:58:01 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 08:58:01 -0400 Subject: [AccessD] Lookup and production tables' alternativesymbolickeys... In-Reply-To: <000001c79481$8be8f2a0$6401a8c0@nant> Message-ID: <20070512125800.EDE8ABCE0@smtp-auth.no-ip.com> Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Sat May 12 08:09:46 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 09:09:46 -0400 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Sat May 12 08:40:12 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 09:40:12 -0400 Subject: [AccessD] VB.Net - Progress Bars Message-ID: <20070512134012.472BABCCA@smtp-auth.no-ip.com> I need two progress bars, one for displaying the files I am processing, and one for displaying the progress processing records inside of a file. My question involves where to display this progress and how to feed the individual bars. The progress info is coming from two different classes, neither of which is the form class. Would I raise events and have those events sunk clear back on the form class, or would I pass in references to the progress controls to the classes, or would I make public variables which hold pointers to the progress bars and allow each class to update it's own progress bar? How do you guys do this? John W. Colby Colby Consulting www.ColbyConsulting.com From shamil at users.mns.ru Sat May 12 08:59:52 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 17:59:52 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolickeys... In-Reply-To: <20070512124640.8002ABD3A@smtp-auth.no-ip.com> Message-ID: <000001c7949d$cffa9270$6401a8c0@nant> John, Is the chain: Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Master->Detail->...->Detail chain? I'd think without knowing details of this business just based on the names of the tables - it's at least: Master (Policy Holder)->Detail(Policy)->Detail(Claim)->Detail(Benefit)->Detail(BeneCheckInf o)<-Master(Check) Again based on the names of the tables I'd expect the structure would be even more shallow - something like BeneCheckInfo being a relationship table for Policy, Claim, Benefit and Check tables i.e. the length of the chain is 3 not 6 (I can be wrong - I do not know this business). "Alternative symbolic keys" means for me an *additional* to surrogate (Autonumber/Identity/(long/whatevet bits)Integer/GUID/...) symbolic unique key. That's clear that for relationships (many to many) tables such keys if they exists are usually artificial, especially for long master->detail->... chains... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... Shamil, My Disability Insurance Call Center database has some long chains chains: Underwriter / Policy / Claim / Benefit / BenefitOffset Underwriter / Policy / Claim / Benefit / BeneCheckInfo / Check Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Claimant / Claim / Benefit / BeneCheckInfo / Check In such cases it is not uncommon to have to start at the top of the chain, i.e. "view all checks for policy holder", view all checks for the claimant, view all checks for the underwriter. I do not understand what you mean by "alternative symbolic keys". If you mean fields that would be a natural key FOR THAT TABLE (policy number in the claim table) I do not. I use ONLY surrogate keys, which are always long int autonumbers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 5:52 AM To: 'Access-D' Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is >2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Sat May 12 09:33:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 18:33:01 +0400 Subject: [AccessD] Lookup and production tables'alternativesymbolickeys... In-Reply-To: <20070512125800.EDE8ABCE0@smtp-auth.no-ip.com> Message-ID: <000101c794a2$7217be80$6401a8c0@nant> John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Sat May 12 09:51:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 10:51:14 -0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000101c794a2$7217be80$6401a8c0@nant> Message-ID: <20070512145114.724B6BD98@smtp-auth.no-ip.com> In this case there are many core tables. These are insurance policies. Policies are added every time a claim is processed where that policy does not exist. If a policy is added, a policy holder is added. The claimant is added (the person filing the claim). The claim is added. Then monthly (or weekly) the benefit record is added. The benefit record is a record which holds data about the benefit owed THAT pay period. These change over time as the number of days, the amounts removed for taxes etc. The benefit check info is a table that holds data about the check about to be issued for that specific benefit record. More than one check can be cut - one to the claimant, another to his divorced spouse, one for child support etc. Then checks are cut and referenced back to the benecheckinfo record that caused that check to be cut. So you can see that literally daily, new claims are processed. USUALLY these are for existing policies - the policies USUALLY are held by a COMPANY providing disability insurance, but not always, sometimes individuals buy policies. So pretty much ALL of the tables from policy holder and claimant on down are modified on a daily basis. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 rockysmolin at bchacc.com Sat May 12 09:53:56 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 07:53:56 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000101c794a2$7217be80$6401a8c0@nant> Message-ID: <001c01c794a5$5de127a0$0501a8c0@HAL9005> Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From shamil at users.mns.ru Sat May 12 10:12:37 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 19:12:37 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <20070512145114.724B6BD98@smtp-auth.no-ip.com> Message-ID: <000301c794a7$fa21b1f0$6401a8c0@nant> John, John, The "hardcore" core table of your database seems to be the BeneCheck table. All the rest are "in between" sharing lookup and production tables' roles depending on context in which they are used. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 6:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... In this case there are many core tables. These are insurance policies. Policies are added every time a claim is processed where that policy does not exist. If a policy is added, a policy holder is added. The claimant is added (the person filing the claim). The claim is added. Then monthly (or weekly) the benefit record is added. The benefit record is a record which holds data about the benefit owed THAT pay period. These change over time as the number of days, the amounts removed for taxes etc. The benefit check info is a table that holds data about the check about to be issued for that specific benefit record. More than one check can be cut - one to the claimant, another to his divorced spouse, one for child support etc. Then checks are cut and referenced back to the benecheckinfo record that caused that check to be cut. So you can see that literally daily, new claims are processed. USUALLY these are for existing policies - the policies USUALLY are held by a COMPANY providing disability insurance, but not always, sometimes individuals buy policies. So pretty much ALL of the tables from policy holder and claimant on down are modified on a daily basis. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Sat May 12 11:04:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 12:04:35 -0400 Subject: [AccessD] Access 2007 Navigation Pane Message-ID: <29f585dd0705120904m554c9438ka763a8f174bd863@mail.gmail.com> Does anyone know where the items in the navigation pane are stored? I'm guessing that Access queries the lists of tables and forms etc., but what about the custom items you add? And suppose that I decide to hide some objects? Where is that information stored? And finally, has anyone created a wizard that will convert Switchboard Items into this new format? If not, then I will, when I figure out where this information lives. Arthur From shamil at users.mns.ru Sat May 12 12:23:21 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 21:23:21 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <001c01c794a5$5de127a0$0501a8c0@HAL9005> Message-ID: <000301c794ba$3d8e91d0$6401a8c0@nant> Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From mwp.reid at qub.ac.uk Sat May 12 12:31:57 2007 From: mwp.reid at qub.ac.uk (Martin Reid) Date: Sat, 12 May 2007 18:31:57 +0100 Subject: [AccessD] Access 2007 Navigation Pane References: <29f585dd0705120904m554c9438ka763a8f174bd863@mail.gmail.com> Message-ID: Arthur there are several system tables. MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneGroupCategories At a guess I dont think that wil help you. Re menus etc http://pschmid.net/office2007/ribboncustomizer/index.php This guys menu builder is great. Disclaimer, I was one of the beta testers for this in the early days and its not free. I think he has a free version however. His web site is really good for learning RibbonX Martin Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 ________________________________ From: accessd-bounces at databaseadvisors.com on behalf of Arthur Fuller Sent: Sat 12/05/2007 17:04 To: Access Developers discussion and problem solving Subject: [AccessD] Access 2007 Navigation Pane Does anyone know where the items in the navigation pane are stored? I'm guessing that Access queries the lists of tables and forms etc., but what about the custom items you add? And suppose that I decide to hide some objects? Where is that information stored? And finally, has anyone created a wizard that will convert Switchboard Items into this new format? If not, then I will, when I figure out where this information lives. Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Sat May 12 12:35:58 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 10:35:58 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000301c794ba$3d8e91d0$6401a8c0@nant> Message-ID: <002501c794bc$00774f10$0501a8c0@HAL9005> So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From ssharkins at setel.com Sat May 12 12:37:18 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 13:37:18 -0400 Subject: [AccessD] Constant for quote characters? Message-ID: <000001c794bc$31b22730$a132fad1@SusanOne> Didn't Access add a constant for the single and double quotation characters? I've checked the Constant classes, and I'm not finding it -- so either I'm just overlooking it or I'm mistaken, and there is no constant. I know I can use Chr(), but prefer a constant if there is one. Susan H. From shamil at users.mns.ru Sat May 12 13:10:57 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 22:10:57 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <002501c794bc$00774f10$0501a8c0@HAL9005> Message-ID: <000601c794c0$e3adfa50$6401a8c0@nant> <<< So I suppose in the form which maintains the FAB table, tblFAB is a production table. >>> No, Rocky, it will not automatically become a production table in this case of your application in my opinion. <<< I'm always interested in application. Is the production/lookup distinction it make a difference in application? >>> Yes, Rocky, I'm also interested in applications. Yes lookup/production table difference does IMO make the distinction in an application. (Lookup table in a broad sense - like your tblFAB table). These distinctions allow to clearly see the subsystems of a (large) application system and how these subsystems are related/connected to each other. The splitting on subsystems allows to create modules/components, which can be separately/in parallel programmed by a development team, allow deploying distributed systems working well in ensemble etc. etc. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 9:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- 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 May 12 15:06:14 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 13 May 2007 06:06:14 +1000 Subject: [AccessD] Constant for quote characters? In-Reply-To: <000001c794bc$31b22730$a132fad1@SusanOne> References: <000001c794bc$31b22730$a132fad1@SusanOne> Message-ID: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> I don't think there is one. On 12 May 2007 at 13:37, Susan Harkins wrote: > Didn't Access add a constant for the single and double quotation characters? > I've checked the Constant classes, and I'm not finding it -- so either I'm > just overlooking it or I'm mistaken, and there is no constant. > > I know I can use Chr(), but prefer a constant if there is one. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From fuller.artful at gmail.com Sat May 12 15:42:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 16:42:07 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> My preferred choice is a pair of functions called q() and qq(), which accept a string and return the string encapsulated in either single or double quotes. Function q( s As String) q = Chr(39) & s & Chr(39) End Function Function qq( s a String ) qq = Chr(34) & s & Chr(34) End Function Arthur From ssharkins at setel.com Sat May 12 15:56:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 16:56:43 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> Message-ID: <000301c794d8$0cc6f240$c232fad1@SusanOne> I think you're right. I don't know where I got the idea there was one. I don't recall having ever used it. Wishful thinking? ;) Susan H. I don't think there is one. > Didn't Access add a constant for the single and double quotation characters? > I've checked the Constant classes, and I'm not finding it -- so either > I'm just overlooking it or I'm mistaken, and there is no constant. > > I know I can use Chr(), but prefer a constant if there is one. From ssharkins at setel.com Sat May 12 15:56:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 16:56:43 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> References: <000001c794bc$31b22730$a132fad1@SusanOne><46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> Message-ID: <000401c794d8$0dfa6930$c232fad1@SusanOne> Why do you call functions instead of defining constants? Susan H. My preferred choice is a pair of functions called q() and qq(), which accept a string and return the string encapsulated in either single or double quotes. Function q( s As String) q = Chr(39) & s & Chr(39) End Function Function qq( s a String ) qq = Chr(34) & s & Chr(34) End Function From stuart at lexacorp.com.pg Sat May 12 15:56:43 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 13 May 2007 06:56:43 +1000 Subject: [AccessD] Constant for quote characters? In-Reply-To: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> References: <000001c794bc$31b22730$a132fad1@SusanOne>, <46461E36.16182.F3412F8@stuart.lexacorp.com.pg>, <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> Message-ID: <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> You can also enhance these to "double escape" any embedded quotes: Function qq( s a String) s = Replace(s,Chr$(34),Chr$(34) & Chr$(34)) qq = Chr(34) & s & Chr(34) End Function Function q( s As String) s = Replace(s,Chr$(39),Chr$(39) & Chr$(39)) q = Chr(39) & s & Chr(39) End Function On 12 May 2007 at 16:42, Arthur Fuller wrote: > My preferred choice is a pair of functions called q() and qq(), which accept > a string and return the string encapsulated in either single or double > quotes. > > Function q( s As String) > q = Chr(39) & s & Chr(39) > End Function > > Function qq( s a String ) > qq = Chr(34) & s & Chr(34) > End Function > > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From fuller.artful at gmail.com Sat May 12 16:04:49 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 17:04:49 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <000401c794d8$0dfa6930$c232fad1@SusanOne> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> <000401c794d8$0dfa6930$c232fad1@SusanOne> Message-ID: <29f585dd0705121404k73564cas95e22788fa7da5b2@mail.gmail.com> Force of habit, perhaps. But if I use constants then I can't wrap them around a string, so then let's suppose that I call the constants Q and QQ, then I still have to write Q & string & Q, which I guess is ok but for me q(string) is clearer. It probably runs slower, too, but I'll pay that small price. Back in the old days, there was another way around this, where one could create virtual functions, which would get translated into in-line code by the compiler, thus avoiding the performance hit. Perhaps that's why I gravitated to that style. I grow old. A. On 5/12/07, Susan Harkins wrote: > > Why do you call functions instead of defining constants? > > From fuller.artful at gmail.com Sat May 12 16:05:34 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 17:05:34 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705121405o291f1fa6nadb24ec175438dba@mail.gmail.com> Excellent! On 5/12/07, Stuart McLachlan wrote: > > You can also enhance these to "double escape" any embedded quotes: > > Function qq( s a String) > s = Replace(s,Chr$(34),Chr$(34) & Chr$(34)) > qq = Chr(34) & s & Chr(34) > End Function > > Function q( s As String) > s = Replace(s,Chr$(39),Chr$(39) & Chr$(39)) > q = Chr(39) & s & Chr(39) > End Function > > From rockysmolin at bchacc.com Sat May 12 22:44:15 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 20:44:15 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000601c794c0$e3adfa50$6401a8c0@nant> Message-ID: <004001c79510$fa85b330$0501a8c0@HAL9005> Got it. Since I've always been a lone ranger programmer I have difficulty relating to the problems of working software in teams. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... <<< So I suppose in the form which maintains the FAB table, tblFAB is a production table. >>> No, Rocky, it will not automatically become a production table in this case of your application in my opinion. <<< I'm always interested in application. Is the production/lookup distinction it make a difference in application? >>> Yes, Rocky, I'm also interested in applications. Yes lookup/production table difference does IMO make the distinction in an application. (Lookup table in a broad sense - like your tblFAB table). These distinctions allow to clearly see the subsystems of a (large) application system and how these subsystems are related/connected to each other. The splitting on subsystems allows to create modules/components, which can be separately/in parallel programmed by a development team, allow deploying distributed systems working well in ensemble etc. etc. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 9:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From Gustav at cactus.dk Sun May 13 06:19:49 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Sun, 13 May 2007 13:19:49 +0200 Subject: [AccessD] Constant for quote characters? Message-ID: Hi Susan You can create your own: Public Const shCharQuoteDbl As String * 1 = """" Public Const shCharQuoteSng As String * 1 = "'" or if you prefer: Public Const vbDoubleQuoteChar As String * 1 = """" Public Const vbSingleQuoteChar As String * 1 = "'" to be in line with vbNullChar. /gustav >>> ssharkins at setel.com 12-05-2007 19:37 >>> Didn't Access add a constant for the single and double quotation characters? I've checked the Constant classes, and I'm not finding it -- so either I'm just overlooking it or I'm mistaken, and there is no constant. I know I can use Chr(), but prefer a constant if there is one. Susan H. From darrend at nimble.com.au Sun May 13 18:21:46 2007 From: darrend at nimble.com.au (Darren D) Date: Mon, 14 May 2007 09:21:46 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager havecommand line switches? In-Reply-To: <46448F88.31336.2932E937@stuart.lexacorp.com.pg> Message-ID: <200705132321.l4DNLiY3023031@databaseadvisors.com> Oh Well - thanks Darren ------------------ -----Original Message----- From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] Sent: Friday, 11 May 2007 3:45 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager havecommand line switches? Since it is a .MSC file which runs in the "Microsoft Management Console", I doubt very much that there is any sort of CLI for it. On 11 May 2007 at 15:21, Darren D wrote: > > I want to click from my access app and hopefully pass some command line switches > to Enterprise Manager to get it to open the relevant dB > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 09/05/2007 3:07 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 PM From bheid at sc.rr.com Sun May 13 20:39:08 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Sun, 13 May 2007 21:39:08 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> References: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> Message-ID: <000201c795c8$aa3cd620$2c01a8c0@bhxp> That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Sun May 13 20:46:15 2007 From: ebarro at verizon.net (Eric Barro) Date: Sun, 13 May 2007 18:46:15 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <000201c795c8$aa3cd620$2c01a8c0@bhxp> Message-ID: <0JI0005HWCX18312@vms040.mailsrvcs.net> No he's using VISTA....Heheheheheh. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 6:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/801 - Release Date: 5/12/2007 6:40 PM From jwcolby at colbyconsulting.com Sun May 13 21:06:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:06:50 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <000201c795c8$aa3cd620$2c01a8c0@bhxp> Message-ID: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> >You are using messagebox.show, right? Yes. It does show up if I click on the program icon representing the windows form for the VB.Net program, but it will not pop up over (for example) Outlook if I have that open or Firefox if I have that open. It also does not cause the little icon in the toolbar to turn dark blue or flash as some other programs can cause their toolbar icon to do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 9:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sun May 13 21:07:39 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:07:39 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI0005HWCX18312@vms040.mailsrvcs.net> Message-ID: <20070514020739.32F15BD3F@smtp-auth.no-ip.com> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Sunday, May 13, 2007 9:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox No he's using VISTA....Heheheheheh. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 6:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/801 - Release Date: 5/12/2007 6:40 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sun May 13 21:15:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:15:37 -0400 Subject: [AccessD] OT: Comodo firewall Message-ID: <20070514021537.84F86BD3D@smtp-auth.no-ip.com> Is anyone out there using Comodo firewall pro? I have it, I like it, and I am actually considering standardizing on it. OTOH I need to learn more about it because (for example) when I turn it on to "custom" it prevents the other SQL Server from seeing the servers running behind that firewall. I am just wondering if anyone out there knows how to configure it to allow other machines inside of my internal network to establish a trusted zone (I know that it can do that) and what protocols to allow, etc. Firewalls just have too many tweaks and I do not understand them well enough to function. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Sun May 13 22:05:25 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 23:05:25 -0400 Subject: [AccessD] OT: Comodo firewall In-Reply-To: <20070514021537.84F86BD3D@smtp-auth.no-ip.com> Message-ID: <20070514030524.4D046BCD2@smtp-auth.no-ip.com> Well, that turned out to be too easy. I downloaded comodo onto the new server, deleted all of the existing rules re specific protocalls, used the wizard on both systems to set up a trusted zone and voila, they can see shared folders. To get SQL Server happening I had to register the servers and then switch back and forth between the servers answering affirmative on the Comodo prompts and Voila, each server can see the other's server. Too bad they don't make an AV. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Sunday, May 13, 2007 10:16 PM To: Tech - Database Advisors Inc.; 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Comodo firewall Is anyone out there using Comodo firewall pro? I have it, I like it, and I am actually considering standardizing on it. OTOH I need to learn more about it because (for example) when I turn it on to "custom" it prevents the other SQL Server from seeing the servers running behind that firewall. I am just wondering if anyone out there knows how to configure it to allow other machines inside of my internal network to establish a trusted zone (I know that it can do that) and what protocols to allow, etc. Firewalls just have too many tweaks and I do not understand them well enough to function. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From darrend at nimble.com.au Mon May 14 00:02:16 2007 From: darrend at nimble.com.au (Darren D) Date: Mon, 14 May 2007 15:02:16 +1000 Subject: [AccessD] OT:FTP Client Message-ID: <200705140502.l4E52BfU011474@databaseadvisors.com> Hi All Brains trust question ? WAY OT Please respond off list I need a free and I mean free ? FTP Client ? It need to be free ? did I mention that? I know a lot of people on the list like (and recommend) 3D ? that?s cool but it ain?t free I need recommendations of a free one Many thanks in advance Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 PM From stuart at lexacorp.com.pg Mon May 14 00:43:44 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 14 May 2007 15:43:44 +1000 Subject: [AccessD] OT:FTP Client In-Reply-To: <200705140502.l4E52BfU011474@databaseadvisors.com> References: <200705140502.l4E52BfU011474@databaseadvisors.com> Message-ID: <464883B0.18900.38A4A335@stuart.lexacorp.com.pg> FileZilla, SmartFTP (free for personal use only), or the FireFTP plugin for Firefox are all good To bring it back on topic. There's a simple FTPSend utility on my website if you just want to upload files to an FTP site. You can shell to it from VBA in an Access Application. That's how all the election results for PNG end up on the Electoral Commission website. The HTML pages are built in Access from an SQL Server BE and uploaded to the WWW with a single button click. Check out FTPSend under the Free Software button at http://www.lexacorp.com.pg On 14 May 2007 at 15:02, Darren D wrote: > Hi All > > Brains trust question ? WAY OT > > Please respond off list > > I need a free and I mean free ? FTP Client ? It need to be free ? did I mention > that? > > I know a lot of people on the list like (and recommend) 3D ? that?s cool but it > ain?t free > > I need recommendations of a free one > > Many thanks in advance > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Gustav at cactus.dk Mon May 14 03:00:34 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 10:00:34 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From ewaldt at gdls.com Mon May 14 06:10:07 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Mon, 14 May 2007 07:10:07 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: Message-ID: I am running into a problem with a cross tab query. I have a report based on a parameter query, which is in turn based on a cross tab query (which is based on the same parameter), and ADO doesn't seem happy. On MSFT's site, they use DAO in their (very complex) example, and they show how to specify a parameter (qdf = a QueryDef, and qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn it), but I don't see how to specify a parameter's value in ADO. I'm assuming that's the problem , because Access keeps saying that I'm not specifiying required info. Also, when I went through and replaced all instances of parameters in the queries (query based on queries based on queries) with solid numbers, it worked. In the actual queries, the parameter is: [Forms]![frmWeeklyData]![fraMonths] This simply refers to a frame containing option buttons so that I can specify the month I'm interested in. The month's number is then used by the queries. Running the queries without the report works just fine. However, since a cross tab query is involved, and there can be varying numbers of columns, I have to use dynamic columns in the report, and that's where complexity rears its ugly head. The parameter query (that calls the cross tab query) is necessary because I have information in addition to the cross tab query itself which is needed in the report. Here's the code portion that Access highlights: rst.Open _ Source:="qfrmWeeklyData", _ ActiveConnection:=CurrentProject.Connection, _ Options:=adCmdTable I'd greatly appreciate any help with this. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From jwcolby at colbyconsulting.com Mon May 14 06:56:02 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 07:56:02 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> ROTFL. I am using SQL Server 2005, which is the primary mission of the box. And the SQL folks said XP on a server box is not a good idea. I moved to Windows Server 2003 and fixed problems I was having with SQL Server. So there ya go. 2003 it is on this and my other SQL Server box. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 4:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Gustav at cactus.dk Mon May 14 07:31:18 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 14:31:18 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 13:56 >>> ROTFL. I am using SQL Server 2005, which is the primary mission of the box. And the SQL folks said XP on a server box is not a good idea. I moved to Windows Server 2003 and fixed problems I was having with SQL Server. So there ya go. 2003 it is on this and my other SQL Server box. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 4:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From Gustav at cactus.dk Mon May 14 07:59:01 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 14:59:01 +0200 Subject: [AccessD] Cross Tab Query Help Requested Message-ID: Hi Thomas Here's an article on using ADO and parameters: http://support.microsoft.com/kb/225897/en-us Also, look up in the archives subject "ADO code stopped working" from early February this year. If it works now with DAO, I would leave it except, of course, if this is a learning experience. /gustav >>> ewaldt at gdls.com 14-05-2007 13:10 >>> I am running into a problem with a cross tab query. I have a report based on a parameter query, which is in turn based on a cross tab query (which is based on the same parameter), and ADO doesn't seem happy. On MSFT's site, they use DAO in their (very complex) example, and they show how to specify a parameter (qdf = a QueryDef, and qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn it), but I don't see how to specify a parameter's value in ADO. I'm assuming that's the problem , because Access keeps saying that I'm not specifiying required info. Also, when I went through and replaced all instances of parameters in the queries (query based on queries based on queries) with solid numbers, it worked. In the actual queries, the parameter is: [Forms]![frmWeeklyData]![fraMonths] This simply refers to a frame containing option buttons so that I can specify the month I'm interested in. The month's number is then used by the queries. Running the queries without the report works just fine. However, since a cross tab query is involved, and there can be varying numbers of columns, I have to use dynamic columns in the report, and that's where complexity rears its ugly head. The parameter query (that calls the cross tab query) is necessary because I have information in addition to the cross tab query itself which is needed in the report. Here's the code portion that Access highlights: rst.Open _ Source:="qfrmWeeklyData", _ ActiveConnection:=CurrentProject.Connection, _ Options:=adCmdTable I'd greatly appreciate any help with this. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Mon May 14 08:06:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 09:06:40 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav From Gustav at cactus.dk Mon May 14 08:31:29 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 15:31:29 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John OK, sounds like you are well equipped. I just wondered - to return to your question - what a messagebox had to do on a server machine ... /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 15:06 >>> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav From jwcolby at colbyconsulting.com Mon May 14 08:56:03 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 09:56:03 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514135602.06AE9BD2F@smtp-auth.no-ip.com> >I just wondered - to return to your question - what a messagebox had to do on a server machine ... Well, I am doing dev work there. I use a message box to get my attention when a file finishes the transform. I was timing it (manually with a stop watch) and was not seeing the messagebox. The messagebox will be going away of course for the production version but they are useful, and having them pop up (become visible) is a useful thing during development. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 9:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John OK, sounds like you are well equipped. I just wondered - to return to your question - what a messagebox had to do on a server machine ... /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 15:06 >>> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the >VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third >for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fuller.artful at gmail.com Mon May 14 09:19:29 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 14 May 2007 10:19:29 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: References: Message-ID: <29f585dd0705140719u5b8c149brb43c2fdc5ce78a1@mail.gmail.com> In my experience, the easiest solution was to use static functions in the first query, and then base the crosstab query on that result set. For the SQL Server folks on this list, there is an amazing stored procedure available at Simple-Talk (www.simple-talk.com) that dynamically generates cross-tabs as complex as you'd like. One of the big problems with cross-tabs is that the number of columns might change from run to run. This stored procedure gets around that. In the interests of transparency, let me admit that I write for Simple Talk, although I did not write this article and wish that I had. The stored procedure is amazing. Arthur On 5/14/07, Gustav Brock wrote: > > Hi Thomas > > Here's an article on using ADO and parameters: > > http://support.microsoft.com/kb/225897/en-us > > Also, look up in the archives subject "ADO code stopped working" from > early February this year. > > If it works now with DAO, I would leave it except, of course, if this is a > learning experience. > > /gustav > > >>> ewaldt at gdls.com 14-05-2007 13:10 >>> > I am running into a problem with a cross tab query. > > I have a report based on a parameter query, which is in turn based on a > cross tab query (which is based on the same parameter), and ADO doesn't > seem happy. On MSFT's site, they use DAO in their (very complex) example, > and they show how to specify a parameter (qdf = a QueryDef, and > qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn > it), but I don't see how to specify a parameter's value in ADO. I'm > assuming that's the problem , because Access keeps saying that I'm not > specifiying required info. Also, when I went through and replaced all > instances of parameters in the queries (query based on queries based on > queries) with solid numbers, it worked. In the actual queries, the > parameter is: > > [Forms]![frmWeeklyData]![fraMonths] > > This simply refers to a frame containing option buttons so that I can > specify the month I'm interested in. The month's number is then used by > the queries. > > Running the queries without the report works just fine. However, since a > cross tab query is involved, and there can be varying numbers of columns, > I have to use dynamic columns in the report, and that's where complexity > rears its ugly head. The parameter query (that calls the cross tab query) > is necessary because I have information in addition to the cross tab query > itself which is needed in the report. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker 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 lmrazek at lcm-res.com Mon May 14 09:45:56 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 09:45:56 -0500 Subject: [AccessD] Printing to a directly generic text printer In-Reply-To: References: Message-ID: <065701c79636$95e85460$046fa8c0@lcmdv8000> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From Gustav at cactus.dk Mon May 14 10:05:31 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 17:05:31 +0200 Subject: [AccessD] Printing to a directly generic text printer Message-ID: Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From lmrazek at lcm-res.com Mon May 14 10:36:41 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 10:36:41 -0500 Subject: [AccessD] Printing to a directly generic text printer In-Reply-To: References: Message-ID: <067801c7963d$ac2202b0$046fa8c0@lcmdv8000> Thanks Gustav: That works better than my code. Since I'm sending directly to the printer, could this interfere with a document that was currently printing from another user/application? Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 10:06 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Printing to a directly generic text printer Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Gustav at cactus.dk Mon May 14 10:49:34 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 17:49:34 +0200 Subject: [AccessD] Printing to a directly generic text printer Message-ID: Hi Larry It could, but if you connect the printer to a printer queue (on a print server) and everyone print to that queue, that will be the safest method possible. /gustav >>> lmrazek at lcm-res.com 14-05-2007 17:36:41 >>> Thanks Gustav: That works better than my code. Since I'm sending directly to the printer, could this interfere with a document that was currently printing from another user/application? Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 10:06 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Printing to a directly generic text printer Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From ebarro at verizon.net Mon May 14 10:59:09 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 14 May 2007 08:59:09 -0700 Subject: [AccessD] [dba-SQLServer] Cross Tab Query Help Requested In-Reply-To: <29f585dd0705140719u5b8c149brb43c2fdc5ce78a1@mail.gmail.com> Message-ID: <0JI1009VWGDX8395@vms046.mailsrvcs.net> Arthur, Do you have the link to the article? Eric -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 7:19 AM To: Access Developers discussion and problem solving Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] [AccessD] Cross Tab Query Help Requested In my experience, the easiest solution was to use static functions in the first query, and then base the crosstab query on that result set. For the SQL Server folks on this list, there is an amazing stored procedure available at Simple-Talk (www.simple-talk.com) that dynamically generates cross-tabs as complex as you'd like. One of the big problems with cross-tabs is that the number of columns might change from run to run. This stored procedure gets around that. In the interests of transparency, let me admit that I write for Simple Talk, although I did not write this article and wish that I had. The stored procedure is amazing. Arthur On 5/14/07, Gustav Brock wrote: > > Hi Thomas > > Here's an article on using ADO and parameters: > > http://support.microsoft.com/kb/225897/en-us > > Also, look up in the archives subject "ADO code stopped working" from > early February this year. > > If it works now with DAO, I would leave it except, of course, if this > is a learning experience. > > /gustav > > >>> ewaldt at gdls.com 14-05-2007 13:10 >>> > I am running into a problem with a cross tab query. > > I have a report based on a parameter query, which is in turn based on > a cross tab query (which is based on the same parameter), and ADO > doesn't seem happy. On MSFT's site, they use DAO in their (very > complex) example, and they show how to specify a parameter (qdf = a > QueryDef, and > qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to > learn it), but I don't see how to specify a parameter's value in ADO. > I'm assuming that's the problem , because Access keeps saying that I'm > not specifiying required info. Also, when I went through and replaced > all instances of parameters in the queries (query based on queries > based on > queries) with solid numbers, it worked. In the actual queries, the > parameter is: > > [Forms]![frmWeeklyData]![fraMonths] > > This simply refers to a frame containing option buttons so that I can > specify the month I'm interested in. The month's number is then used > by the queries. > > Running the queries without the report works just fine. However, since > a cross tab query is involved, and there can be varying numbers of > columns, I have to use dynamic columns in the report, and that's where > complexity rears its ugly head. The parameter query (that calls the > cross tab query) is necessary because I have information in addition > to the cross tab query itself which is needed in the report. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker Mass Properties > General Dynamics Land Systems > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 5/13/2007 12:17 PM From reuben at gfconsultants.com Mon May 14 11:04:35 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Mon, 14 May 2007 12:04:35 -0400 Subject: [AccessD] OT - eFax Service Message-ID: Do any of you use one of the online "eFax" services? If so, any recommendations? We are switching to fiber and will have our phone, cable, and internet all over fiber. We are hoping to eliminate the second phone line when we do this. The second line will only be $20 from the new company so it's not a big expense, but why have it if I can fax online. Thanks. Reuben Cummings GFC, LLC 812.523.1017 From fuller.artful at gmail.com Mon May 14 11:11:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 14 May 2007 12:11:35 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> References: <000201c795c8$aa3cd620$2c01a8c0@bhxp> <20070514020650.B55D5BD19@smtp-auth.no-ip.com> Message-ID: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows > form for the VB.Net program, but it will not pop up over (for example) > Outlook if I have that open or Firefox if I have that open. It also does > not cause the little icon in the toolbar to turn dark blue or flash as > some > other programs can cause their toolbar icon to do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From jwcolby at colbyconsulting.com Mon May 14 11:31:01 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 12:31:01 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> Message-ID: <20070514163059.EF739BCDA@smtp-auth.no-ip.com> I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Mon May 14 11:47:16 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 14 May 2007 09:47:16 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <0JI1002VBIETNJN0@l-daemon> Hi Gustav: Why is having a server as a desktop not a good idea? These are the reasons I would recommend it: 1. It runs more stably. Rarely crashes and I do put it through its paces. XP on the other hand can freeze up easily when pushed too hard. 2. Has great built-in security. It can not even be seen on the LAN if that is your requirement. 3. Full admin terminal services built not just a single user. You can easily remote in from a clients site. 4. Easy communications with remote/local and different OS like Mac/Linux... try that with an XP box without a lot of fuss. 5. Runs multiple resource heavy apps without grinding to a halt or just crashing: like a couple of web servers, a couple of SQL servers 2000/2005, virtual server and throw in a resource hungry graphic program. Try running Oracle Enterprise 10g on an XP box.... yeh-right. 6. Runs multi-versions of development apps, like Access, VB, Visual Studio... 7. For all these heavy duty programs the system can actually take full advantage of the entire RAM that can be crammed in the box. XP will look at the memory but will not necessarily do anything with it. I do not recommend this much load but for you multi-tasking power users...my recommendation is if you have the opportunity is to run a nice Windows 2003 standard server. It has a lot more complexity than the standard desktop and will not always play nice with other servers on the LAN but has all the tools to taming it. ...After all many Linux distros have the capabilities of being full-blown, multi-user, multi-tasking servers with a pretty interface. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 1:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 14 11:51:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 09:51:28 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514163059.EF739BCDA@smtp-auth.no-ip.com> References: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> <20070514163059.EF739BCDA@smtp-auth.no-ip.com> Message-ID: If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Mon May 14 12:12:20 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:12:20 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514171219.60E1BBDBE@smtp-auth.no-ip.com> LOL, yea, I do have a problem. Not a big one though, I just had to be aware that it wasn't going to wave in my face. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 14, 2007 12:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Mon May 14 12:14:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:14:04 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI1002VBIETNJN0@l-daemon> Message-ID: <20070514171403.B00C7BC0B@smtp-auth.no-ip.com> It has run very well for me once I got them set up. Pretty much smooth as silk. The standard version will NOT use more than 4g of ram however, unless you can step up to the 64 bit version which I cannot. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 14, 2007 12:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi Gustav: Why is having a server as a desktop not a good idea? These are the reasons I would recommend it: 1. It runs more stably. Rarely crashes and I do put it through its paces. XP on the other hand can freeze up easily when pushed too hard. 2. Has great built-in security. It can not even be seen on the LAN if that is your requirement. 3. Full admin terminal services built not just a single user. You can easily remote in from a clients site. 4. Easy communications with remote/local and different OS like Mac/Linux... try that with an XP box without a lot of fuss. 5. Runs multiple resource heavy apps without grinding to a halt or just crashing: like a couple of web servers, a couple of SQL servers 2000/2005, virtual server and throw in a resource hungry graphic program. Try running Oracle Enterprise 10g on an XP box.... yeh-right. 6. Runs multi-versions of development apps, like Access, VB, Visual Studio... 7. For all these heavy duty programs the system can actually take full advantage of the entire RAM that can be crammed in the box. XP will look at the memory but will not necessarily do anything with it. I do not recommend this much load but for you multi-tasking power users...my recommendation is if you have the opportunity is to run a nice Windows 2003 standard server. It has a lot more complexity than the standard desktop and will not always play nice with other servers on the LAN but has all the tools to taming it. ...After all many Linux distros have the capabilities of being full-blown, multi-user, multi-tasking servers with a pretty interface. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 1:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav From fhtapia at gmail.com Mon May 14 12:14:54 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 14 May 2007 10:14:54 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> References: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> Message-ID: That is true John, but you ought to consider running your VS on an XP box to help avoid other security issues from 2003. 2003 is an excellent OS and one that we had not had many issues with, however I don't use this OS for anything other than a strict Server OS. That means nothing that is not Server related, (Sql 2000/2005 only). One thing you can consider is to install VMware Server (free copy) and use a product like VMware Converter (also free) to create an XP OS on your server. You can then install VS on there and run it on one of the cores for your 64 server. (choose 1 instead of two so that you can allow the Sql server to utilize as much CPU as needed for cpu intensive process. Also place the Virtual Disks on a disk not utilized by your sql server, I remember you had segregated everything... even a Usb2.0 drive will help here, where you install your vmware machine to that usb2.0 drive to help maintain performance on the vmware machine and not take any away from your sql server functions (such as those required for the high intensive reads, ie, imports/exports). my two cents (both the products I mentioned are provided free of charge from Vmware) -- Francisco On 5/14/07, jwcolby wrote: > > ROTFL. I am using SQL Server 2005, which is the primary mission of the > box. > And the SQL folks said XP on a server box is not a good idea. I moved to > Windows Server 2003 and fixed problems I was having with SQL Server. > > So there ya go. 2003 it is on this and my other SQL Server box. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 4:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From fhtapia at gmail.com Mon May 14 12:22:32 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 14 May 2007 10:22:32 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI1002VBIETNJN0@l-daemon> References: <0JI1002VBIETNJN0@l-daemon> Message-ID: Wow, that is one way to do things. I like segregation of software as often does occur installing a newer version of something even MS can cause a machine to belly-up, including 2003. though it is incredibly stable. My XP boxes have been extreamly reliable, but I generally have them segregated, I have one that is all dev work (vb.net) a second physical box for 2003 w/ Sql 2000 and 2005. I have a 3rd vm that is my main workstation and I tug that on my usb drive between work and home. -- Francisco On 5/14/07, Jim Lawrence wrote: > > Hi Gustav: > > Why is having a server as a desktop not a good idea? These are the reasons > I > would recommend it: > > 1. It runs more stably. Rarely crashes and I do put it through its paces. > XP > on the other hand can freeze up easily when pushed too hard. > 2. Has great built-in security. It can not even be seen on the LAN if that > is your requirement. > 3. Full admin terminal services built not just a single user. You can > easily > remote in from a clients site. > 4. Easy communications with remote/local and different OS like > Mac/Linux... > try that with an XP box without a lot of fuss. > 5. Runs multiple resource heavy apps without grinding to a halt or just > crashing: like a couple of web servers, a couple of SQL servers 2000/2005, > virtual server and throw in a resource hungry graphic program. Try running > Oracle Enterprise 10g on an XP box.... yeh-right. > 6. Runs multi-versions of development apps, like Access, VB, Visual > Studio... > 7. For all these heavy duty programs the system can actually take full > advantage of the entire RAM that can be crammed in the box. XP will look > at > the memory but will not necessarily do anything with it. > > I do not recommend this much load but for you multi-tasking power > users...my > recommendation is if you have the opportunity is to run a nice Windows > 2003 > standard server. It has a lot more complexity than the standard desktop > and > will not always play nice with other servers on the LAN but has all the > tools to taming it. ...After all many Linux distros have the capabilities > of being full-blown, multi-user, multi-tasking servers with a pretty > interface. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 1:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From jwcolby at colbyconsulting.com Mon May 14 12:30:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:30:30 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514173029.B6F84BCB2@smtp-auth.no-ip.com> I am not sure whether this is true or not but I have always felt that I do not have the same level of security issues that others might. I am a one man shop. All of my systems run on a LAN behind a router. No one routinely remotes in to my system, I don't publish a web page (through the firewall out to the web), I run software firewalls on all machines etc. If I were going to take your advice, which I might, I would probably set up one of my older machines as my personal workstation kind of machine. With everything on a single small lan, I actually use a kvm switch to switch between up to 4 systems so it is simple to switch back and forth between boxes. I can also use remote desktop if I want to to get at each box. Having Server 2003 running on the big boxes means I can actually have the desktop showing on the monitor and remote in from my laptop (for example) to another instance of the same user, or even another user. Remote desktop across a local LAN is just as fast as live. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 14, 2007 1:15 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox That is true John, but you ought to consider running your VS on an XP box to help avoid other security issues from 2003. 2003 is an excellent OS and one that we had not had many issues with, however I don't use this OS for anything other than a strict Server OS. That means nothing that is not Server related, (Sql 2000/2005 only). One thing you can consider is to install VMware Server (free copy) and use a product like VMware Converter (also free) to create an XP OS on your server. You can then install VS on there and run it on one of the cores for your 64 server. (choose 1 instead of two so that you can allow the Sql server to utilize as much CPU as needed for cpu intensive process. Also place the Virtual Disks on a disk not utilized by your sql server, I remember you had segregated everything... even a Usb2.0 drive will help here, where you install your vmware machine to that usb2.0 drive to help maintain performance on the vmware machine and not take any away from your sql server functions (such as those required for the high intensive reads, ie, imports/exports). my two cents (both the products I mentioned are provided free of charge from Vmware) -- Francisco From rl_stewart at highstream.net Mon May 14 12:36:10 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Mon, 14 May 2007 12:36:10 -0500 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? In-Reply-To: References: Message-ID: <200705141738.l4EHcpMm018719@databaseadvisors.com> Darren, The simple answer is no. What is it you are wanting to do? Robert At 11:11 AM 5/14/2007, you wrote: >Date: Mon, 14 May 2007 09:21:46 +1000 >From: "Darren D" >Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager > havecommand line switches? >To: "'Access Developers discussion and problem solving'" > >Message-ID: <200705132321.l4DNLiY3023031 at databaseadvisors.com> >Content-Type: text/plain; charset="windows-1250" > >Oh Well - thanks > >Darren >------------------ >-----Original Message----- >From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] >Sent: Friday, 11 May 2007 3:45 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager >havecommand line switches? > >Since it is a .MSC file which runs in the "Microsoft Management >Console", I doubt very much that there is any sort of CLI for it. > > >On 11 May 2007 at 15:21, Darren D wrote: > > > > > I want to click from my access app and hopefully pass some command line >switches > > to Enterprise Manager to get it to open the relevant dB > > From rl_stewart at highstream.net Mon May 14 12:38:53 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Mon, 14 May 2007 12:38:53 -0500 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: References: Message-ID: <200705141743.l4EHhp4M021362@databaseadvisors.com> And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. At 11:11 AM 5/14/2007, you wrote: >Date: Mon, 14 May 2007 07:56:02 -0400 >From: "jwcolby" >Subject: Re: [AccessD] VB.Net - seeing the messagebox >To: "'Access Developers discussion and problem solving'" > >Message-ID: <20070514115601.D76F9BDFA at smtp-auth.no-ip.com> >Content-Type: text/plain; charset="us-ascii" > >ROTFL. I am using SQL Server 2005, which is the primary mission of the box. >And the SQL folks said XP on a server box is not a good idea. I moved to >Windows Server 2003 and fixed problems I was having with SQL Server. > >So there ya go. 2003 it is on this and my other SQL Server box. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, May 14, 2007 4:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] VB.Net - seeing the messagebox > >Hi John > >A server OS for desktop use? Not a good idea. >Perhaps your programs miss priority? Look up My Computer, Properties, >Advanced, Performance, Settings, Advanced. > >/gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > >Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From jwcolby at colbyconsulting.com Mon May 14 12:49:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:49:50 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <200705141743.l4EHhp4M021362@databaseadvisors.com> Message-ID: <20070514174949.6A27DBC8E@smtp-auth.no-ip.com> >And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. Good to know. I feel comfortable developing on this box. It is fast and stable. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Monday, May 14, 2007 1:39 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. From markamatte at hotmail.com Mon May 14 13:42:05 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 14 May 2007 18:42:05 +0000 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: I was also wondering this. I have a desktop at home running 2000 Server...that has been running 24/7 for over 3 years. Every 30 minutes it retrieves stock data files(via FTP),unzips them, imports into Access, analyzes the data, does historical comparison, then emails the data to a number of phones(if anything matches criteria). This is the only thing thing this box does aside from some periodic development...and the only problems I have had was 1 hard drive failure...and my email crashed...Neither an OS problem...other than that...this thing has never had an issue. By no means am I an expert on OS's...but of the 15 or so machines I've had, running Win95,Win98,Win2000,Win ME(it came on the machine, not my choice),and XP.....2000Server has been the most stable machine I have ever had. Just curious, Mark A. Matte >From: Jim Lawrence >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] VB.Net - seeing the messagebox >Date: Mon, 14 May 2007 09:47:16 -0700 > >Hi Gustav: > >Why is having a server as a desktop not a good idea? These are the reasons >I >would recommend it: > >1. It runs more stably. Rarely crashes and I do put it through its paces. >XP >on the other hand can freeze up easily when pushed too hard. >2. Has great built-in security. It can not even be seen on the LAN if that >is your requirement. >3. Full admin terminal services built not just a single user. You can >easily >remote in from a clients site. >4. Easy communications with remote/local and different OS like Mac/Linux... >try that with an XP box without a lot of fuss. >5. Runs multiple resource heavy apps without grinding to a halt or just >crashing: like a couple of web servers, a couple of SQL servers 2000/2005, >virtual server and throw in a resource hungry graphic program. Try running >Oracle Enterprise 10g on an XP box.... yeh-right. >6. Runs multi-versions of development apps, like Access, VB, Visual >Studio... >7. For all these heavy duty programs the system can actually take full >advantage of the entire RAM that can be crammed in the box. XP will look at >the memory but will not necessarily do anything with it. > >I do not recommend this much load but for you multi-tasking power >users...my >recommendation is if you have the opportunity is to run a nice Windows 2003 >standard server. It has a lot more complexity than the standard desktop and >will not always play nice with other servers on the LAN but has all the >tools to taming it. ...After all many Linux distros have the capabilities >of being full-blown, multi-user, multi-tasking servers with a pretty >interface. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, May 14, 2007 1:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] VB.Net - seeing the messagebox > >Hi John > >A server OS for desktop use? Not a good idea. >Perhaps your programs miss priority? Look up My Computer, Properties, >Advanced, Performance, Settings, Advanced. > >/gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > >Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Mon May 14 13:53:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 14:53:37 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514185336.0D31CBC79@smtp-auth.no-ip.com> Mark, Unfortunately of the Oss you mentioned only Windows 2000 even qualifies as a stable OS. Windows XP was supposedly built on the Windows 2000 platform and is very stable, at least vs the other mentioned OSs. Windows 2003 has IMO been even more stable than Windows XP Pro which I used exclusively for several years. The only issue I have run into using Windows 2003 as opposed to XP is driver issues. For example my Brother Fax 2820 does not have drivers for Windows 2003 and refuses to install the XP drivers. My experience has been that XP drivers will work IF you can coerce the install package to install them. If the installer does not do an OS check sees 2003 as XP, the drivers have always worked. I truly like 2003 and thank those in this and the SQL Server group that smacked me around until I installed it on my servers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 14, 2007 2:42 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox I was also wondering this. I have a desktop at home running 2000 Server...that has been running 24/7 for over 3 years. Every 30 minutes it retrieves stock data files(via FTP),unzips them, imports into Access, analyzes the data, does historical comparison, then emails the data to a number of phones(if anything matches criteria). This is the only thing thing this box does aside from some periodic development...and the only problems I have had was 1 hard drive failure...and my email crashed...Neither an OS problem...other than that...this thing has never had an issue. By no means am I an expert on OS's...but of the 15 or so machines I've had, running Win95,Win98,Win2000,Win ME(it came on the machine, not my choice),and XP.....2000Server has been the most stable machine I have ever had. Just curious, Mark A. Matte From shamil at users.mns.ru Mon May 14 14:19:56 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 14 May 2007 23:19:56 +0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> Message-ID: <003a01c7965c$dbd25220$6401a8c0@nant> John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 14 14:28:02 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 15:28:02 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <003a01c7965c$dbd25220$6401a8c0@nant> Message-ID: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 andy at minstersystems.co.uk Mon May 14 15:04:04 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 14 May 2007 21:04:04 +0100 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Message-ID: <000401c79663$05a9eee0$d787d355@minster33c3r25> We seem to have let our standards slip recently regarding posting topics to the appropriate lists, and regarding cross-posting. Can I just remind everyone that we have a specific SQL-Server list, one for VB, one for Visio, a dba-Tech list for other IT matters, and an OT list for non-IT matters (see http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more use of these other lists and try to limit AccessD to Access stuff. I know that AccessD is the main list, but SQLServer and VB particularly have many members and are specifically geared to answering questions on those topics. If you have a question which belongs on one of the other lists I urge you to please post it on the appropriate list first. If you don't get the response you're after and believe that reposting to AccessD will help then of course you're going to, but you should then append "(originally posted to dba-xx)" to your subject. This will help people who have already seen the original. It may even encourage wider membership of the other lists. Please avoid the scatter-gun approach of just posting the same question straight away to all of the lists. This generates wasted bandwidth, is a particular irritant for those on multiple lists and uses up storage in our archive. Many thanks for your co-operation. -- Andy Lacey http://www.minstersystems.co.uk From shamil at users.mns.ru Mon May 14 15:25:02 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 15 May 2007 00:25:02 +0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Message-ID: <004b01c79665$f513d750$6401a8c0@nant> John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 lmrazek at lcm-res.com Mon May 14 15:47:16 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 16:47:16 -0400 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> Hi: Thanks to Gustav, I have some code that works on my local machine ... however, I'll need to print to an IP address, and I haven't been able to find the syntax. This Works: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close #1 This doesn't (no errors, basically nothing) Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "10.0.2.22" For Output As #1 Print #1, PrtStr Close #1 Anyone have any ideas? Thanks in advance. Larry Mrazek lmrazek at lcm-res.com From stuart at lexacorp.com.pg Mon May 14 16:12:39 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 07:12:39 +1000 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> Message-ID: <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able to > find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 > rint #1, PrtStr > Close #1 > > This doesn't (no errors, basically nothing) > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From jwcolby at colbyconsulting.com Mon May 14 16:16:55 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 17:16:55 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <004b01c79665$f513d750$6401a8c0@nant> Message-ID: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Well... Yea, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 4:25 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 cfoust at infostatsystems.com Mon May 14 16:40:02 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 14:40:02 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> References: <004b01c79665$f513d750$6401a8c0@nant> <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Message-ID: Wrong list, guys! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Well... Yea, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 4:25 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 bbruen at unwired.com.au Mon May 14 16:50:35 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Tue, 15 May 2007 07:50:35 +1000 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: References: Message-ID: <200705150750.39444.bbruen@unwired.com.au> >From memory, dim rs as recordset dim cmd as new command cmd.text="qrfmWeeklyData" cmd.type=acStoredProc '????? cmd.connection = CurrentProject.Connection set rs=cmd.exec(,param1) ... hth On Monday 14 May 2007 21:10, ewaldt at gdls.com wrote: > I am running into a problem with a cross tab query. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker Mass Properties > General Dynamics Land Systems > > > > This is an e-mail from General Dynamics Land Systems. It is for the > intended recipient only and may contain confidential and privileged > information. No one else may read, print, store, copy, forward or act in > reliance on it or its attachments. If you are not the intended recipient, > please return this message to the sender and delete the message and any > attachments from your computer. Your cooperation is appreciated. -- regards Bruce From tuxedoman888 at gmail.com Mon May 14 17:10:46 2007 From: tuxedoman888 at gmail.com (Billy Pang) Date: Mon, 14 May 2007 15:10:46 -0700 Subject: [AccessD] right align values in a list box Message-ID: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Hello: Just wondering is it possible to right-align values in a list box. I have a column (integer data type) that is left-aligned in the listbox and it is hard to read: for example: Column1: 10 1,000 50 I would like it to show: Column1: 10 1,000 50 Is that possible? thanks in advance, Billy -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb From bheid at sc.rr.com Mon May 14 17:12:08 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Mon, 14 May 2007 18:12:08 -0400 Subject: [AccessD] OT - eFax Service In-Reply-To: References: Message-ID: <001e01c79674$e9fa3490$2c01a8c0@bhxp> My wife uses the free version where you can receive up to 10 (I think) faxes per month. It works well for her. Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Reuben Cummings Sent: Monday, May 14, 2007 12:05 PM To: AccessD Subject: [AccessD] OT - eFax Service Do any of you use one of the online "eFax" services? If so, any recommendations? We are switching to fiber and will have our phone, cable, and internet all over fiber. We are hoping to eliminate the second phone line when we do this. The second line will only be $20 from the new company so it's not a big expense, but why have it if I can fax online. Thanks. Reuben Cummings GFC, LLC 812.523.1017 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 14 18:15:07 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 16:15:07 -0700 Subject: [AccessD] right align values in a list box In-Reply-To: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Message-ID: You'd have to do it by left padding the individual values as strings. If there are any decimals involved, it becomes problematic to line whole numbers and decimals up. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Billy Pang Sent: Monday, May 14, 2007 3:11 PM To: Access Developers discussion and problem solving Subject: [AccessD] right align values in a list box Hello: Just wondering is it possible to right-align values in a list box. I have a column (integer data type) that is left-aligned in the listbox and it is hard to read: for example: Column1: 10 1,000 50 I would like it to show: Column1: 10 1,000 50 Is that possible? thanks in advance, Billy -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From bheid at sc.rr.com Mon May 14 18:26:47 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Mon, 14 May 2007 19:26:47 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> References: <000201c795c8$aa3cd620$2c01a8c0@bhxp> <20070514020650.B55D5BD19@smtp-auth.no-ip.com> Message-ID: <000b01c7967f$57914660$2c01a8c0@bhxp> I think that that is the way that it is supposed to work. Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Sunday, May 13, 2007 10:07 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox >You are using messagebox.show, right? Yes. It does show up if I click on the program icon representing the windows form for the VB.Net program, but it will not pop up over (for example) Outlook if I have that open or Firefox if I have that open. It also does not cause the little icon in the toolbar to turn dark blue or flash as some other programs can cause their toolbar icon to do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 9:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 wdhindman at dejpolsystems.com Mon May 14 19:31:53 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 14 May 2007 20:31:53 -0400 Subject: [AccessD] right align values in a list box References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Message-ID: <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> http://www.lebans.com/justicombo.htm William Hindman ----- Original Message ----- From: "Billy Pang" To: "Access Developers discussion and problem solving" Sent: Monday, May 14, 2007 6:10 PM Subject: [AccessD] right align values in a list box > Hello: > > Just wondering is it possible to right-align values in a list box. I have > a > column (integer data type) that is left-aligned in the listbox and it is > hard to read: > > for example: > > Column1: > 10 > 1,000 > 50 > > I would like it to show: > > Column1: > 10 > 1,000 > 50 > > Is that possible? > > thanks in advance, > > Billy > > -- > Billy Pang > http://dbnotes.blogspot.com/ > "Once the game is over, the King and the pawn go back in the same box." - > Italian proverb > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Mon May 14 19:38:56 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 14 May 2007 20:38:56 -0400 Subject: [AccessD] From your friendly moderator References: <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: <001101c79689$6c75e4a0$7d7d6c4c@jisshowsbs.local> ...kudos Andy ...I'm concerned that non-access topics are crowding the list to the point that visitors won't recognize it as a primary Access resource ...the occasional thread is ok with me ...but its gone well past occasional the past week. William Hindman ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 14, 2007 4:04 PM Subject: [AccessD] From your friendly moderator > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Mon May 14 20:05:28 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 14 May 2007 18:05:28 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <0JI200B1R5H37630@l-daemon> I agree it is a little over the top but things sort of evolved. (Do actually have a few dedicated servers and stations on the LAN) Being a MS Action Pac partner leaves me with a lot of servers and stations. On a balance what would you choose as an OS, when Server 2003 standard is in one hand and XP is in the other.... hmmm ... not much choice there; and besides it is nice to be able to compete feature on feature with fellow Linux users. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 14, 2007 10:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox Wow, that is one way to do things. I like segregation of software as often does occur installing a newer version of something even MS can cause a machine to belly-up, including 2003. though it is incredibly stable. My XP boxes have been extreamly reliable, but I generally have them segregated, I have one that is all dev work (vb.net) a second physical box for 2003 w/ Sql 2000 and 2005. I have a 3rd vm that is my main workstation and I tug that on my usb drive between work and home. -- Francisco On 5/14/07, Jim Lawrence wrote: > > Hi Gustav: > > Why is having a server as a desktop not a good idea? These are the reasons > I > would recommend it: > > 1. It runs more stably. Rarely crashes and I do put it through its paces. > XP > on the other hand can freeze up easily when pushed too hard. > 2. Has great built-in security. It can not even be seen on the LAN if that > is your requirement. > 3. Full admin terminal services built not just a single user. You can > easily > remote in from a clients site. > 4. Easy communications with remote/local and different OS like > Mac/Linux... > try that with an XP box without a lot of fuss. > 5. Runs multiple resource heavy apps without grinding to a halt or just > crashing: like a couple of web servers, a couple of SQL servers 2000/2005, > virtual server and throw in a resource hungry graphic program. Try running > Oracle Enterprise 10g on an XP box.... yeh-right. > 6. Runs multi-versions of development apps, like Access, VB, Visual > Studio... > 7. For all these heavy duty programs the system can actually take full > advantage of the entire RAM that can be crammed in the box. XP will look > at > the memory but will not necessarily do anything with it. > > I do not recommend this much load but for you multi-tasking power > users...my > recommendation is if you have the opportunity is to run a nice Windows > 2003 > standard server. It has a lot more complexity than the standard desktop > and > will not always play nice with other servers on the LAN but has all the > tools to taming it. ...After all many Linux distros have the capabilities > of being full-blown, multi-user, multi-tasking servers with a pretty > interface. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 1:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From tuxedoman888 at gmail.com Mon May 14 20:37:08 2007 From: tuxedoman888 at gmail.com (Billy Pang) Date: Mon, 14 May 2007 18:37:08 -0700 Subject: [AccessD] right align values in a list box In-Reply-To: <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> Message-ID: <7c8826480705141837x6ed2f3ehf93d931b03f053a9@mail.gmail.com> got it. thanks Charlotte and William. On 5/14/07, William Hindman wrote: > > http://www.lebans.com/justicombo.htm > > William Hindman > > ----- Original Message ----- > From: "Billy Pang" > To: "Access Developers discussion and problem solving" > > Sent: Monday, May 14, 2007 6:10 PM > Subject: [AccessD] right align values in a list box > > > > Hello: > > > > Just wondering is it possible to right-align values in a list box. I > have > > a > > column (integer data type) that is left-aligned in the listbox and it is > > hard to read: > > > > for example: > > > > Column1: > > 10 > > 1,000 > > 50 > > > > I would like it to show: > > > > Column1: > > 10 > > 1,000 > > 50 > > > > Is that possible? > > > > thanks in advance, > > > > Billy > > > > -- > > Billy Pang > > http://dbnotes.blogspot.com/ > > "Once the game is over, the King and the pawn go back in the same box." > - > > Italian proverb > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb From max.wanadoo at gmail.com Tue May 15 01:54:04 2007 From: max.wanadoo at gmail.com (Gmail) Date: Tue, 15 May 2007 07:54:04 +0100 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: References: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com><20070514163059.EF739BCDA@smtp-auth.no-ip.com> Message-ID: <002101c796bd$d47c4dd0$5101a8c0@LT> Why not change the background colour to bright red - that should get your attention when the whole form turns red. Regards Max -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 14, 2007 5:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 Chris.Foote at uk.thalesgroup.com Tue May 15 02:08:38 2007 From: Chris.Foote at uk.thalesgroup.com (Foote, Chris) Date: Tue, 15 May 2007 08:08:38 +0100 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: <7303A459C921B5499AF732CCEEAD2B7F064D0FDC@craws161660.int.rdel.co.uk> Hi John! Had you considered using netsend to create a pop-up message? I've got some VBA code somewhere that I've used in the past. Assuming MS Server2009 (or whatever) still supports netsend - using NT4.0 here ;-) Regards Chris Foote > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of jwcolby > Sent: Monday, May 14, 2007 10:17 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > > Well... Yea, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 4:25 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > IOW you wanted to have a message box/form "flying" on top of > all the other > windows but not blocking nor your VB.NET application nor > other processes? > > -- > Shamil > From stuart at lexacorp.com.pg Tue May 15 02:17:18 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 17:17:18 +1000 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> References: <004b01c79665$f513d750$6401a8c0@nant>, <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Message-ID: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg> If the MB isn't working, how about displaying a custom form and setting it's z-order to "TOPMOST" with the SetWindowPos API call. On 14 May 2007 at 17:16, jwcolby wrote: > Well... Yea, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 4:25 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > IOW you wanted to have a message box/form "flying" on top of all the other > windows but not blocking nor your VB.NET application nor other processes? > > -- > Shamil > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Monday, May 14, 2007 11:28 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Shamil, > > Nope, I didn't try that. It doesn't sound like something I want to do > either. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 3:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > Did you try to use > > MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as > it's written in docs): > > > Dim msg As String > Dim title As String > Dim style As MsgBoxStyle > Dim response As MsgBoxResult > msg = "Do you want to continue?" ' Define message. > style = MsgBoxStyle.DefaultButton2 Or _ > MsgBoxStyle.Critical Or _ > MsgBoxStyle.YesNo Or _ > MsgBoxStyle.SystemModal > title = "MsgBox Demonstration" ' Define title. > ' Display message. > response = MsgBox(msg, style, title) > If response = MsgBoxResult.Yes Then ' User chose Yes. > ' Perform some action. > Else > ' Perform some other action. > End If > > > -- > Shamil > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Saturday, May 12, 2007 5:10 PM > To: 'Access Developers discussion and problem solving'; > dba-vb at databaseadvisors.com > Subject: [AccessD] VB.Net - seeing the messagebox > > When I run my program, the form immediately pops up, I click a button and > the program starts processing files. I added a messagebox.show to inform me > when each file finishes (I was timing with a stopwatch) but that message box > does not pop up over the top of everything else. The program has stopped > and the message is up, but behind everything else and I do not see it unless > I click the form icon in the tool bar. It doesn't even cause the tool bar > icon for the form to change color or flash. > > Is there a way to make it do so (somehow notify me)? > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 -- Stuart From Gustav at cactus.dk Tue May 15 03:49:24 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 10:49:24 +0200 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: Hi Larry That is not possible just like that. The easiest method is to create a local or shared printer which prints to a port which is (re)directed to the IP address. That will normally require a printer server in front of the printer as these printers typically do not have a built-in printer server. This is probably the setup you have - or you would not wish to print to an IP address ... Another method is to map or redirect one of the old - from DOS - printer ports, LTP1 to LPT3, to the IP address. As these ports are handled like files, you can modify your code this way: Open "LPT2" For Output As #1 /gustav >>> lmrazek at lcm-res.com 14-05-2007 22:47 >>> Hi: Thanks to Gustav, I have some code that works on my local machine ... however, I'll need to print to an IP address, and I haven't been able to find the syntax. This Works: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close #1 This doesn't (no errors, basically nothing) Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "10.0.2.22" For Output As #1 Print #1, PrtStr Close #1 Anyone have any ideas? Thanks in advance. Larry Mrazek lmrazek at lcm-res.com From Gustav at cactus.dk Tue May 15 04:26:16 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 11:26:16 +0200 Subject: [AccessD] Which Windows version (was: VB.Net - seeing the messagebox) Message-ID: Hi Jim (and John and Robert) Because the workstation version is optimized for workstation apps like Access and VS and the use of these, and the server version is optimized for server apps like SQL Server, IIS, or Exchange. The kernel is the same and a server version can be tweaked for workstation use and vice versa, but why waste time on this when MS has done this for us? We all have our preferences, but claiming that WinXP is "less stable" or that Win 2003 "is better" than the other Windows 5.x versions is doubtful. Based on experience from our clients which run Win2000/XP on 99% of all workstations, these run rock steady. I just checked, and we've only once seen a blue screen of death on these machines and that was caused by a malfunctioning ram module. /gustav >>> accessd at shaw.ca 14-05-2007 18:47 >>> Why is having a server as a desktop not a good idea? From jwcolby at colbyconsulting.com Tue May 15 06:13:41 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 07:13:41 -0400 Subject: [AccessD] Which Windows version (was: VB.Net - seeingthe messagebox) In-Reply-To: Message-ID: <20070515111343.9F336BCA0@smtp-auth.no-ip.com> I absolutely agree that WindowsXP is rock stable and I recommend it highly. With the handful of driver issues I have seen for 2003, I do recommend XP (Pro) for workstation use. One thing that is materially superior on the 2003 side however is the ability to remote desktop in to a machine without booting a logged in user. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 5:26 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Which Windows version (was: VB.Net - seeingthe messagebox) Hi Jim (and John and Robert) Because the workstation version is optimized for workstation apps like Access and VS and the use of these, and the server version is optimized for server apps like SQL Server, IIS, or Exchange. The kernel is the same and a server version can be tweaked for workstation use and vice versa, but why waste time on this when MS has done this for us? We all have our preferences, but claiming that WinXP is "less stable" or that Win 2003 "is better" than the other Windows 5.x versions is doubtful. Based on experience from our clients which run Win2000/XP on 99% of all workstations, these run rock steady. I just checked, and we've only once seen a blue screen of death on these machines and that was caused by a malfunctioning ram module. /gustav >>> accessd at shaw.ca 14-05-2007 18:47 >>> Why is having a server as a desktop not a good idea? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 06:15:38 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 07:15:38 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg> Message-ID: <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> I have to wonder if .NET doesn't have this built-in somehow. They are all about avoiding programming to API calls. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, May 15, 2007 3:17 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If the MB isn't working, how about displaying a custom form and setting it's z-order to "TOPMOST" with the SetWindowPos API call. From lembit.dbamail at t-online.de Tue May 15 06:33:28 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Tue, 15 May 2007 13:33:28 +0200 Subject: [AccessD] From your friendly moderator References: <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: <011701c796e4$dbd815b0$1800a8c0@s1800> Thanks a lot, Andy, one point to remember: since we archive the mails for later search for solutions, it will be difficult to dig out all the nuggets when they are scattered across all lists. So, please everyone take your friendly moderators recommendation seriously :) thank you Lembit ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 14, 2007 10:04 PM Subject: [AccessD] From your friendly moderator > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 14.05.2007 > 16:46 > > From lmrazek at lcm-res.com Tue May 15 07:27:12 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Tue, 15 May 2007 07:27:12 -0500 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> Message-ID: <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- 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 May 15 07:54:58 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 22:54:58 +1000 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> References: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg>, <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> Message-ID: <4649ADA2.0.1D19F47A@stuart.lexacorp.com.pg> It's in .Net 3, but it seems to be a new addition: http://msdn2.microsoft.com/en-us/library/system.windows.window.topmost.aspx On 15 May 2007 at 7:15, jwcolby wrote: > I have to wonder if .NET doesn't have this built-in somehow. They are all > about avoiding programming to API calls. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan > Sent: Tuesday, May 15, 2007 3:17 AM To: Access Developers discussion and > problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox > > If the MB isn't working, how about displaying a custom form and setting > it's z-order to "TOPMOST" with the SetWindowPos API call. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From Lambert.Heenan at AIG.com Tue May 15 08:19:51 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 15 May 2007 09:19:51 -0400 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ewaldt at gdls.com Tue May 15 09:05:02 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Tue, 15 May 2007 10:05:02 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: Message-ID: My thanks to Bruce Bruen; you pointed me in the right direction, and then I found the info in Rick Dobson's "Programming Microsoft Access Version 2002". I'm including below my VBA code in the hope that it can help someone else. For those of you more knowledgeable than I (plenty of you on this list), feel free to pick it apart. Remember that it does work, though! For any who haven't been following: I needed a report to be based on a parameter query, which was in turn based on a crosstab query that also used the same parameter. I wanted to use ADO, and couldn't figure out how to declare a parameter. Even though it was in the SQL, ADO wanted its own declaration. I hope the syntax below will help someone else. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems Private Sub Report_Open(Cancel As Integer) Dim intColCount As Integer Dim intControlCount As Integer Dim i As Integer Dim strName As String Dim intP As Integer Dim cmd As ADODB.Command Dim rst As ADODB.Recordset Dim prm As ADODB.Parameter Set cmd = New ADODB.Command With cmd .ActiveConnection = CurrentProject.Connection .CommandText = "PARAMETERS [Forms]![frmWeeklyData]![fraMonths] Long; " & _ [Very long SQL statement here] .CommandType = adCmdText End With Set prm = cmd.CreateParameter("[Forms]![frmWeeklyData]![fraMonths]", adInteger, adParamInput) cmd.Parameters.Append prm intP = [Forms]![frmWeeklyData]![fraMonths] prm.Value = intP Set rst = cmd.Execute intColCount = rst.Fields.Count intControlCount = Me.Detail.Controls.Count If intControlCount < intColCount Then intColCount = intControlCount End If For i = 1 To intColCount strName = rst.Fields(i - 1).Name Me.Controls("Head" & i).Caption = strName Me.Controls("Col" & i).ControlSource = strName Next i rst.Close End Sub This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From JHewson at karta.com Tue May 15 09:18:26 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 15 May 2007 09:18:26 -0500 Subject: [AccessD] DAO vs ADO Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com From garykjos at gmail.com Tue May 15 10:09:08 2007 From: garykjos at gmail.com (Gary Kjos) Date: Tue, 15 May 2007 10:09:08 -0500 Subject: [AccessD] From your friendly moderator In-Reply-To: <000401c79663$05a9eee0$d787d355@minster33c3r25> References: <20070514192801.2A148BC66@smtp-auth.no-ip.com> <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: Well said Andy. GK On 5/14/07, Andy Lacey wrote: > We seem to have let our standards slip recently regarding posting topics to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those topics. > If you have a question which belongs on one of the other lists I urge you to > please post it on the appropriate list first. If you don't get the response > you're after and believe that reposting to AccessD will help then of course > you're going to, but you should then append "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid the > scatter-gun approach of just posting the same question straight away to all > of the lists. This generates wasted bandwidth, is a particular irritant for > those on multiple lists and uses up storage in our archive. Many thanks for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > 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 cfoust at infostatsystems.com Tue May 15 10:10:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 08:10:42 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Tue May 15 10:26:16 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 15 May 2007 11:26:16 -0400 Subject: [AccessD] DAO vs ADO References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <000b01c79705$621b1080$7d7d6c4c@jisshowsbs.local> 1) they can be mixed but both references have to be set ...when identical functions are included in both object models Access will use the library first referenced unless you specify otherwise ...I specify by default just to be certain. As for differences, look at the object models ...DAO was designed around Jet and ADO around SQL db be's ...when using mdb/Jet be's DAO is usually much faster and has a better object model ...the reverse is true for ADO ...MS led everyone to believe for years that DAO was dead and ADO was the future but then reversed itself with Access 12. 2) ...see above 3) ...no, you can use DAO but it isn't as efficient ...what you can't do with DAO is use an ADP to connect to a SQL be ...but you can certainly connect ...I'd venture to guess there are still more Access fe's using DAO to connect to SQL be's just because for years that was the only way to do it. ...hth William Hindman ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Tuesday, May 15, 2007 10:18 AM Subject: [AccessD] DAO vs ADO > I'm confused when looking at these two libraries. My questions are > many, so I listed only a few below. > 1. What is the difference? Yeah I know, this is a loaded question, but > how do I know when looking at code it's either one? > Can they be mixed? > > 2. Which is recommended for MDBs - or is there no difference in > performance? > > 3. I read somewhere, that ADO is required for ODBC to SQL Server with > an Access FE - is that correct? > > That's enough for now, Thanks! > > Jim > > Jim H. Hewson > Applications Support Manager > Karta Technologies, Inc. > 5555 Northwest Parkway > San Antonio, Texas 78249 > 210-582-3233 > jhewson at karta.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Tue May 15 10:26:35 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 11:26:35 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <20070515152633.EEBE0BD00@smtp-auth.no-ip.com> 1) What is the difference? DAO is a library specific to MDBs. This library has objects for databases, tables, queries, forms and reports (documents) modules etc. IOW this library "knows about" the structure of the MDB and allows the programmer to program to the pieces of an MDB container. Many programmers think of DAO as a recordset / field library, but that is only a tiny piece of the DAO library. ADO is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields 1a) how do I know when looking at code it's either one? This is a good question and one that is the source of much confusion, EVEN FOR VBA, which is why you should in your code dimension an object as DAO.Recordset (for example) or ADODB.Recordset. Both libraries have a recordset object and if you do not prefix the dimensioned object with the correct library, then VB attempts to use the reference physically closest to the top of the reference list. BTW DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably Also, in general, if a reference is to any part of the mdb structure, then it is DAO since ADO does not understand the MDB structure. 1b) Can they be mixed? Yes they can, or at least you can use BOTH libraries, even in consecutive lines of code. Again, the DIMENSION statement determines which library the object uses to process the activity. 2) Which is recommended for MDBs. THIS is a loaded question. ADO is abstracted. Allowing you to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. OTOH, DAO can only be used for an MDB or a LINKED table. 3) I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? No. If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used to dimension the recordset object. I BELIEVE that the link uses ODBC internally, but does not use ADO itself. OTOH, ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot. So the answer depends on whether the table that you want to manipulate is linked or not. HTH. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 10:30:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 11:30:36 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> Charlotte, >You can use both DAO and ADO in the same project but you can't mix them in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 DWUTKA at Marlow.com Tue May 15 11:22:56 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 11:22:56 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Tue May 15 11:33:57 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 18:33:57 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew Couldn't you, with ADO, have referred to that combo the same way Tom did (thread: Cross Tab Query Help Requested)? /gustav >>> DWUTKA at marlow.com 15-05-2007 18:22 >>> That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com From fhtapia at gmail.com Tue May 15 11:48:21 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 15 May 2007 09:48:21 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <000401c79663$05a9eee0$d787d355@minster33c3r25> References: <20070514192801.2A148BC66@smtp-auth.no-ip.com> <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From DWUTKA at Marlow.com Tue May 15 11:49:49 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 11:49:49 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: I don't know, a little busy to go thread hunting. What was the solution? Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 11:34 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Couldn't you, with ADO, have referred to that combo the same way Tom did (thread: Cross Tab Query Help Requested)? /gustav >>> DWUTKA at marlow.com 15-05-2007 18:22 >>> That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From cfoust at infostatsystems.com Tue May 15 11:50:08 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 09:50:08 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> References: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> Message-ID: You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 Tue May 15 12:06:09 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 19:06:09 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. From DWUTKA at Marlow.com Tue May 15 12:11:11 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 12:11:11 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: Ah, a parameter query, but would that work for a query already built? Looks like it is a 'new' query.... Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 12:06 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Tue May 15 12:20:45 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 19:20:45 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew I didn't notice. That makes a difference. /gustav >>> DWUTKA at marlow.com 15-05-2007 19:11 >>> Ah, a parameter query, but would that work for a query already built? Looks like it is a 'new' query.... Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 12:06 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. From jwcolby at colbyconsulting.com Tue May 15 12:21:48 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 13:21:48 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> >But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 cfoust at infostatsystems.com Tue May 15 13:09:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 11:09:19 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> References: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> Message-ID: Yes, I know, but people sometimes get confused when the object have the same names. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO >But I was specifically referring to trying to do things like creating >an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 colbyconsulting.com Tue May 15 13:21:00 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 14:21:00 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515182059.3F804BCBA@smtp-auth.no-ip.com> People sometimes get confused finding their car in the parking lot. ;-) I made it clear in my posts that you MUST dim ADO/DAO things using the lib prefix. That is all I can do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 2:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Yes, I know, but people sometimes get confused when the object have the same names. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO >But I was specifically referring to trying to do things like creating >an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function From accessd at shaw.ca Tue May 15 15:39:26 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 15 May 2007 13:39:26 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: Message-ID: <0JI30011TNTLSO00@l-daemon> I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 16:19:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 17:19:59 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> Message-ID: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Additionally, one big problem is the numbers of list members on the various lists. I do not know for sure, but I suspect that the AccessD list has several hundred members, whereas the Tech list might have 50. If that is the case, then to ask a question of the tech list is probably not very useful. Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how many of them might use COMODO firewall (for example), as opposed to how many of the 50 (number totally made up) Tech list members? We have always fielded OT questions on AccessD, and of late, yes, it has been a little out of hand (mostly me I suspect). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 15, 2007 4:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting > topics to the appropriate lists, and regarding cross-posting. Can I > just remind everyone that we have a specific SQL-Server list, one for > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > more use of these other lists and try to limit AccessD to Access > stuff. I know that AccessD is the main list, but SQLServer and VB > particularly have many members and are specifically geared to > answering questions on those topics. > If you have a question which belongs on one of the other lists I urge > you to please post it on the appropriate list first. If you don't get > the response you're after and believe that reposting to AccessD will > help then of course you're going to, but you should then append > "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please > avoid the scatter-gun approach of just posting the same question > straight away to all of the lists. This generates wasted bandwidth, is > a particular irritant for those on multiple lists and uses up storage > in our archive. Many thanks for your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 lmrazek at lcm-res.com Tue May 15 17:07:12 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Tue, 15 May 2007 17:07:12 -0500 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> Message-ID: <021501c7973d$65af1240$046fa8c0@lcmdv8000> Hi Lambert: It is actually the other way around, or I didn't write out the example correctly: This works (with UNC name): Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close This doesn't (directly to IP address: Open "10.0.2.22" For Output As #1, Print #1, PrtStr Close (no lights, sounds ... Nothing) Curiously, if I map an LPT port to the printer, it works. Do I need to specify the port for the TCP/IP comm? I've been trying to find a reference for these commands, but haven't had any luck. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Tuesday, May 15, 2007 8:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Tue May 15 18:04:30 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 15 May 2007 18:04:30 -0500 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: <002e01c79745$6588a4e0$0200a8c0@danwaters> Hmmmm. A possible solution to this could be that each member is automatically made a member of each list, but could remove themselves from any list if they want to do so. For example, I originally wasn't on the Tech list, but I'm glad I am now. Dan Waters -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 4:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator Additionally, one big problem is the numbers of list members on the various lists. I do not know for sure, but I suspect that the AccessD list has several hundred members, whereas the Tech list might have 50. If that is the case, then to ask a question of the tech list is probably not very useful. Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how many of them might use COMODO firewall (for example), as opposed to how many of the 50 (number totally made up) Tech list members? We have always fielded OT questions on AccessD, and of late, yes, it has been a little out of hand (mostly me I suspect). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 15, 2007 4:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting > topics to the appropriate lists, and regarding cross-posting. Can I > just remind everyone that we have a specific SQL-Server list, one for > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > more use of these other lists and try to limit AccessD to Access > stuff. I know that AccessD is the main list, but SQLServer and VB > particularly have many members and are specifically geared to > answering questions on those topics. > If you have a question which belongs on one of the other lists I urge > you to please post it on the appropriate list first. If you don't get > the response you're after and believe that reposting to AccessD will > help then of course you're going to, but you should then append > "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please > avoid the scatter-gun approach of just posting the same question > straight away to all of the lists. This generates wasted bandwidth, is > a particular irritant for those on multiple lists and uses up storage > in our archive. Many thanks for your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Tue May 15 18:12:44 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 15 May 2007 19:12:44 -0400 Subject: [AccessD] From your friendly moderator References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I never heard such a thing. :) William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 15, 2007 5:19 PM Subject: Re: [AccessD] From your friendly moderator > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 15, 2007 4:39 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > I agree that the borders between the various lists have been criss-crossed > as many have been using the shot-gun approach to ask and answer questions. > > On the other hand much of the newer technology is morphing and the strict > borders are no longer realistic. Example the Access list looks more like > the > 'Access.Net using SQL 2005' list. No longer does Access just use the MDB > database and eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: >> >> We seem to have let our standards slip recently regarding posting >> topics to the appropriate lists, and regarding cross-posting. Can I >> just remind everyone that we have a specific SQL-Server list, one for >> VB, one for Visio, a dba-Tech list for other IT matters, and an OT >> list for non-IT matters (see >> http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make >> more use of these other lists and try to limit AccessD to Access >> stuff. I know that AccessD is the main list, but SQLServer and VB >> particularly have many members and are specifically geared to >> answering questions on those topics. >> If you have a question which belongs on one of the other lists I urge >> you to please post it on the appropriate list first. If you don't get >> the response you're after and believe that reposting to AccessD will >> help then of course you're going to, but you should then append >> "(originally posted to dba-xx)" >> to your subject. This will help people who have already seen the >> original. >> It may even encourage wider membership of the other lists. Please >> avoid the scatter-gun approach of just posting the same question >> straight away to all of the lists. This generates wasted bandwidth, is >> a particular irritant for those on multiple lists and uses up storage >> in our archive. Many thanks for your co-operation. >> >> -- Andy Lacey >> http://www.minstersystems.co.uk >> >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Tue May 15 18:25:22 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 19:25:22 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > Additionally, one big problem is the numbers of list members on the various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. IME it really doesn't matter the size of the list, but the quality of those on it. Yes, thats right, its NOT size that matters :) And just remeber, IT'S NOT FRIDAY yet :) > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how > many of them might use COMODO firewall (for example), as opposed to how many > of the 50 (number totally made up) Tech list members? I have seen very few Tech questions go unanswered. The quality of the answers over there rival the answers here. > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). You're right. OT questions have always been fielded here, but recently there have been more OT questions than On Topic questions, which dilutes the resource that we have all built. Plus makes it harder for others to find the answers they are looking for. Who'd think to search the AccessD archives for an answer to an Outlook or SQL Server question, when we have a SQL server list and a Tech list for these kinds of questions. As Andy said, if the question isn't answered over there, then by all means bring it over here. Maybe as more questions get asked over there, more folks will subscribe. but we've got to give them a chance first. -- 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 carbonnb at gmail.com Tue May 15 18:27:34 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 19:27:34 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: On 5/15/07, William Hindman wrote: > ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I > never heard such a thing. :) Shocking isn't it!!! :) At least it wasn't The Great PK debate :) Runnin' and duckin' -- 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 fhtapia at gmail.com Tue May 15 18:31:48 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 15 May 2007 16:31:48 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: while you make a point John, I think the appropriate thing is to post to dba-tech list then if no response is gained, then posting to the accessD list makes sense and is just proper netiquette. -- Francisco On 5/15/07, jwcolby wrote: > > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 15, 2007 4:39 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > I agree that the borders between the various lists have been criss-crossed > as many have been using the shot-gun approach to ask and answer questions. > > On the other hand much of the newer technology is morphing and the strict > borders are no longer realistic. Example the Access list looks more like > the > 'Access.Net using SQL 2005' list. No longer does Access just use the MDB > database and eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: > > > > We seem to have let our standards slip recently regarding posting > > topics to the appropriate lists, and regarding cross-posting. Can I > > just remind everyone that we have a specific SQL-Server list, one for > > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > > list for non-IT matters (see > > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > > more use of these other lists and try to limit AccessD to Access > > stuff. I know that AccessD is the main list, but SQLServer and VB > > particularly have many members and are specifically geared to > > answering questions on those topics. > > If you have a question which belongs on one of the other lists I urge > > you to please post it on the appropriate list first. If you don't get > > the response you're after and believe that reposting to AccessD will > > help then of course you're going to, but you should then append > > "(originally posted to dba-xx)" > > to your subject. This will help people who have already seen the > original. > > It may even encourage wider membership of the other lists. Please > > avoid the scatter-gun approach of just posting the same question > > straight away to all of the lists. This generates wasted bandwidth, is > > a particular irritant for those on multiple lists and uses up storage > > in our archive. Many thanks for your co-operation. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From martyconnelly at shaw.ca Tue May 15 19:48:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 15 May 2007 17:48:28 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> References: <0JI30011TNTLSO00@l-daemon> Message-ID: <464A54DC.3020504@shaw.ca> Some of that is already here with Managed Add-ins for Access 2007 and MS Visual Studio 2005 I use VB.Net but any other language could be used like Cobol.Net. You can also do this directly with a VB.Net dll & tlb with a COM Class template too. One of these days, I'll try to get a SQL query using XLINQ to return XML rather than a recordset to Access but that requires Net Framework 3.0 or 3.5 and SQL 2005 Here is Ken Getz's article on it. http://msdn2.microsoft.com/en-us/library/aa902693.aspx Where it might get wilder. This week Microsoft's announced that the next release of SQL Server, SQL Server 2008, expected next year, will include support for spatial data. Probably done with an R* indexed data engine. This means you can handle GIS geocoded data from Access as a frontend. You can do this now with ESRI SQL Server 2008 is called Katmai, see Shamil now they are using volcanoes. Jim Lawrence wrote: >I agree that the borders between the various lists have been criss-crossed >as many have been using the shot-gun approach to ask and answer questions. > >On the other hand much of the newer technology is morphing and the strict >borders are no longer realistic. Example the Access list looks more like the >'Access.Net using SQL 2005' list. No longer does Access just use the MDB >database and eventually SQL DB with .Net/Framework/Mono calls will become >fully incorporated. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia >Sent: Tuesday, May 15, 2007 9:48 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] From your friendly moderator > >Well said! > > >On 5/14/07, Andy Lacey wrote: > > >>We seem to have let our standards slip recently regarding posting topics >>to >>the appropriate lists, and regarding cross-posting. Can I just remind >>everyone that we have a specific SQL-Server list, one for VB, one for >>Visio, >>a dba-Tech list for other IT matters, and an OT list for non-IT matters >>(see >>http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more >>use >>of these other lists and try to limit AccessD to Access stuff. I know that >>AccessD is the main list, but SQLServer and VB particularly have many >>members and are specifically geared to answering questions on those >>topics. >>If you have a question which belongs on one of the other lists I urge you >>to >>please post it on the appropriate list first. If you don't get the >>response >>you're after and believe that reposting to AccessD will help then of >>course >>you're going to, but you should then append "(originally posted to >>dba-xx)" >>to your subject. This will help people who have already seen the original. >>It may even encourage wider membership of the other lists. Please avoid >>the >>scatter-gun approach of just posting the same question straight away to >>all >>of the lists. This generates wasted bandwidth, is a particular irritant >>for >>those on multiple lists and uses up storage in our archive. Many thanks >>for >>your co-operation. >> >>-- Andy Lacey >>http://www.minstersystems.co.uk >> >> -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Tue May 15 20:11:22 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 21:11:22 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: <20070516011121.4C410BD36@smtp-auth.no-ip.com> >...nah ...say it ain't so! ...JC gettin' out of hand? Just ask Charlotte. Or Arthur. It doesn't happen often of course. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Tuesday, May 15, 2007 7:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I never heard such a thing. :) William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 15, 2007 5:19 PM Subject: Re: [AccessD] From your friendly moderator > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From carbonnb at gmail.com Tue May 15 20:32:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 21:32:38 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070516011121.4C410BD36@smtp-auth.no-ip.com> References: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <20070516011121.4C410BD36@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > >...nah ...say it ain't so! ...JC gettin' out of hand? > > Just ask Charlotte. Or Arthur. > > It doesn't happen often of course. Nope, not often at all. Just once. It started with 'subscribe accessd' and hasn't stopped since :) runnin' 'n duckin' :) -- 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 jwcolby at colbyconsulting.com Tue May 15 20:39:06 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 21:39:06 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: Message-ID: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> ROTFL YOU BAD!!! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Tuesday, May 15, 2007 9:33 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator On 5/15/07, jwcolby wrote: > >...nah ...say it ain't so! ...JC gettin' out of hand? > > Just ask Charlotte. Or Arthur. > > It doesn't happen often of course. Nope, not often at all. Just once. It started with 'subscribe accessd' and hasn't stopped since :) runnin' 'n duckin' :) -- 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 May 15 20:47:15 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 21:47:15 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> References: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > ROTFL > > YOU BAD!!! Who? Me? Lil' ol' me? I'd be insulted if it wasn't true :) -- 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 accessd at shaw.ca Tue May 15 21:31:45 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 15 May 2007 19:31:45 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <464A54DC.3020504@shaw.ca> Message-ID: <0JI40059H44R82A0@l-daemon> Hi Marty: Just checked it out and it is brilliant. That article is an incredible merging of MS Access, SQL 2005/2008, API/DLL to COM, VB-C#.Net, XML to WebServices and much of the new Access features seem to have AJAX functionality as well. I wonder which list that will fit into? Seems that MS is expanding into ESRI territory... this should be interesting. Oracle has long been the darling but now MS is going on step further into becoming a direct competitor. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Tuesday, May 15, 2007 5:48 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Some of that is already here with Managed Add-ins for Access 2007 and MS Visual Studio 2005 I use VB.Net but any other language could be used like Cobol.Net. You can also do this directly with a VB.Net dll & tlb with a COM Class template too. One of these days, I'll try to get a SQL query using XLINQ to return XML rather than a recordset to Access but that requires Net Framework 3.0 or 3.5 and SQL 2005 Here is Ken Getz's article on it. http://msdn2.microsoft.com/en-us/library/aa902693.aspx Where it might get wilder. This week Microsoft's announced that the next release of SQL Server, SQL Server 2008, expected next year, will include support for spatial data. Probably done with an R* indexed data engine. This means you can handle GIS geocoded data from Access as a frontend. You can do this now with ESRI SQL Server 2008 is called Katmai, see Shamil now they are using volcanoes. From Gustav at cactus.dk Wed May 16 02:19:35 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 09:19:35 +0200 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: Hi Larry That is not curious. You are writing to a device - or more precisely a device file: http://en.wikipedia.org/wiki/Device_file as if you were writing to a file. To write to an IP address is completely different. You need a protocol and a port and to take care of all the exceptions and possible errors. It can be done. A place to start is to study the Microsoft Winsock Control. Filename: mswinsck.ocx. /gustav >>> lmrazek at lcm-res.com 16-05-2007 00:07 >>> Hi Lambert: It is actually the other way around, or I didn't write out the example correctly: This works (with UNC name): Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close This doesn't (directly to IP address: Open "10.0.2.22" For Output As #1, Print #1, PrtStr Close (no lights, sounds ... Nothing) Curiously, if I map an LPT port to the printer, it works. Do I need to specify the port for the TCP/IP comm? I've been trying to find a reference for these commands, but haven't had any luck. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Tuesday, May 15, 2007 8:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 andy at minstersystems.co.uk Wed May 16 02:26:10 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 08:26:10 +0100 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> Message-ID: <004301c7978b$7a00a760$d787d355@minster33c3r25> You have a point Jim of course, and perhaps the BOD should discuss the structure of the lists. In the meantime a moderator can only moderate what's there. We're pretty tolerant but until the BOD decide otherwise AccessD is primarily for Access stuff. As I say, we're pretty tolerant, and if someone tries to get an answer on another list and comes to AccessD as a last resort because of its wider membership, well fine, I've done it myself, we won't complain. We're just asking tht people try the appropriate list first. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: 15 May 2007 21:39 > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > > I agree that the borders between the various lists have been > criss-crossed as many have been using the shot-gun approach > to ask and answer questions. > > On the other hand much of the newer technology is morphing > and the strict borders are no longer realistic. Example the > Access list looks more like the 'Access.Net using SQL 2005' > list. No longer does Access just use the MDB database and > eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: > > > > We seem to have let our standards slip recently regarding posting > > topics to the appropriate lists, and regarding cross-posting. Can I > > just remind everyone that we have a specific SQL-Server > list, one for > > VB, one for Visio, > > a dba-Tech list for other IT matters, and an OT list for > non-IT matters > > (see > > http://www.databaseadvisors.com/lists/whatandhow.asp )? > Please make more > > use > > of these other lists and try to limit AccessD to Access > stuff. I know that > > AccessD is the main list, but SQLServer and VB particularly > have many > > members and are specifically geared to answering questions on those > > topics. > > If you have a question which belongs on one of the other > lists I urge you > > to > > please post it on the appropriate list first. If you don't get the > > response > > you're after and believe that reposting to AccessD will help then of > > course > > you're going to, but you should then append "(originally posted to > > dba-xx)" > > to your subject. This will help people who have already > seen the original. > > It may even encourage wider membership of the other lists. > Please avoid > > the > > scatter-gun approach of just posting the same question > straight away to > > all > > of the lists. This generates wasted bandwidth, is a > particular irritant > > for > > those on multiple lists and uses up storage in our archive. > Many thanks > > for > > your co-operation. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 John.Clark at niagaracounty.com Wed May 16 08:13:50 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 09:13:50 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: <464ACB4D.167F.006B.0@niagaracounty.com> I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. Any ideas?! John W. Clark From andy at minstersystems.co.uk Wed May 16 08:25:32 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 14:25:32 +0100 Subject: [AccessD] Weird Problem...for me anyhow Message-ID: <20070516132537.B896D2B5664@smtp.nildram.co.uk> Hi John Have you (taken a copy first and) repaired and/or compacted the BE (or whole thing if she doesn't have a BE/FE split)? -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] Weird Problem...for me anyhow Date: 16/05/07 13:18 I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. Any ideas?! John W. Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 From carbonnb at gmail.com Wed May 16 08:27:02 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 16 May 2007 09:27:02 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 May 16 09:10:50 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 10:10:50 -0400 Subject: [AccessD] (no subject) Message-ID: <002501c797c4$03603790$8abea8c0@XPS> All, First, sorry I didn't get back to this sooner and thank you all for your comments and thoughts. Second, I'm not going to retch on anyone's ideas. Clearly this is a complex problem and there are many shades of gray. I intentionally left the original message simplistic because I didn't what to imprint too much of my thinking on the question, leaving it as wide open as possible. It was interesting to see the wide range of responses and I don't consider anyone of them to be more right or wrong then another. Each one of us made choices when approaching a particular task and given the same task, anyone of us might have done the same (or not). FWIW, my original layout was the simple "flat file" approach, simply because I could easily nest contacts as many levels as need. It looked like this: tblContacts - Available system wide for all claims. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Company Address - y/n Contact Type ID - Long - FK to tblLookups - Carrier, Adjuster, Employer, Doctor, Attorney, Physical Therapist, etc. Company Name - Text Salutation ID - Long - FK to tblLookups First Name - Text Middle Initial - Text Last Name - Text Suffix - Text Company/Group ID - Long - FK to tblContacts Title - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Date/Time Last Contacted - mm/dd/yyyy Phone - Work - (###) ###-#### Fax - Work - (###) ###-#### Ext (#####) Phone - Home - (###) ###-#### Fax - Home - (###) ###-#### Phone - Alternate Number - (###) ###-#### e-mail - Text Web Site URL - Text Of course there are a number of problems with this as well. Obviously the multiple phone numbers is a no-no. However for many reasons, I don't need more then those. I also don't care if someone has more then one address as I only need to keep track of their primary address. Part of my thinking on multiple addresses is that if I do track them, then by all rights I should also be tracking when they are at each address or which one is "current", all of which is way beyond what I'm attempting to achieve. What the goal is, is to simply record " a point of contact", which is a single address and one of several possible phone numbers. However I have two types of contacts; individuals and companies (or groups). So I am very uncomfortable having everything in a single table. Once again as with the lookup table issue, I would be relying on the programming to abstract part of the normalization process. For example, if the Company Address flag is set, the fields First Name, Last Name, etc would not be filled in, but Company Name would. That's not great, but would be workable. Then I came to contact type. For an individual, it might read "Doctor", but for a company, it would read "Doctors Office", in which there might be one or more doctors. So based on the company flag, I would have to switch the lookup list. Now I'd be doing more then turning on and off controls, but actually having to fetch different sets of data, which is too far over the line for me. Net result is that I'm sitting with this layout at the moment: tblContacts - One record per individual. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Contact Type ID - Long - FK to tblLookups - Adjuster, Doctor, Attorney, Physical Therapist, etc. Salutation ID - Long - FK to tblLookups First Name - Text Middle Initial - Text Last Name - Text Suffix - Text Group ID - Long - FK to tblContactGroups Title - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Phone - Work - (###) ###-#### Ext (#####) Fax - Work - (###) ###-#### Phone - Home - (###) ###-#### Fax - Home - (###) ###-#### Phone - Alternate Number (ie Cell) - (###) ###-#### e-mail - Text tblContactGroups - One record per contact group. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Contact Type ID - Long - FK to tblLookups - Insurer, Doctor's Office, Employer, etc. Name - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Date/Time Last Contacted - mm/dd/yyyy Phone - (###) ###-#### Fax - (###) ###-#### Phone - Alternate Number (ie. Backdoor number) - (###) ###-#### e-mail - Text Web Site URL - Text That still doesn't get me normalized by a long shot. Besides the phone numbers, etc I really should break out the relationship between individuals and Groups as right now, I could have two Presidents. But again I'm only trying to keep contact information. The Title field is just for reference and will not be used in any meaningful way. I really don't care about someone's role within a group or company, just that they are associated with it. The only thing I don't like living with is the possibility of having Nulls in a FK field (an individual with no group affiliation), so I may go ahead and break it out anyway. Of course by splitting groups/companies out, I've now lost the ability for a group/company to be related to anything else without adding a lot more tables, but for this app, I don't think it will be an issue. I am going to go through everyone's comments again however and think about this a little more, but I think this is it. Of course I'm open to any comments anyone would care to make as well. Once again, thanks for the time and thoughts! Jim. From garykjos at gmail.com Wed May 16 09:13:31 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 16 May 2007 09:13:31 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: Make a copy of the database and do any and all of these things on that copy - then you can always go back to your original should something really bad happen. 1) Try Compact and repair if you haven't already. 2) there is a stand alond compact and repair called JETCOMP.EXE http://support.microsoft.com/kb/295334 Get that and run it against the database. 3) try to create a NEW TABLE using the old table as input to an APPEND query. Then if that works you could delete the old table and rename the new table to teh name the old one originally had. All I can think of. Are their any MEMO fields in this table? Memo fields are trouble sometimes. GK On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > > Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." > > I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. > > I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." > > I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. > > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! > > John W. Clark > > > > -- > 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 John.Clark at niagaracounty.com Wed May 16 09:17:37 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 10:17:37 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: <464ADA3F.167F.006B.0@niagaracounty.com> You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jwcolby at colbyconsulting.com Wed May 16 09:21:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 10:21:16 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: Message-ID: <20070516142115.519F4BCBC@smtp-auth.no-ip.com> >Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. This is a good suggestion. If specific records are corrupted then those will fail to copy. Unfortunately it might simply stop when it encounters the first failure. Another thing to try, if a relationship is established between the parent and child table, delete that relationship, then try to delete the offending parent records. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Wednesday, May 16, 2007 9:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jwcolby at colbyconsulting.com Wed May 16 09:27:57 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 10:27:57 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jimdettman at verizon.net Wed May 16 09:30:30 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 10:30:30 -0400 Subject: [AccessD] No subject should have been: A database design for contacts....Part II Message-ID: <000201c797c6$c2410bb0$8abea8c0@XPS> Sorry about the "no subject". Had some formatting problems with the message and was cutting and pasting to a new mail message. Lost the subject in the process. It was in regards to the database design for contacts problem. Jim. From garykjos at gmail.com Wed May 16 09:35:18 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 16 May 2007 09:35:18 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ADA3F.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: Well you were working on that database under protest anyway. glad to hear you got it fixed up. GK On 5/16/07, John Clark wrote: > You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) > > John W. Clark -- Gary Kjos garykjos at gmail.com From JHewson at karta.com Wed May 16 09:57:32 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 09:57:32 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com From fuller.artful at gmail.com Wed May 16 10:08:38 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 11:08:38 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: <29f585dd0705160808w232120b7h94c1e8740b1e520a@mail.gmail.com> At first blush, I would guess that your lovely user does not know about the importance of PKs. IME, this #Deleted issue arises in only two cases, which are related: the table does not have a PK. If you're connecting to SQL Server and the table doesn't have a PK, you won't even be able to add or edit a row. If my first wag is wrong, then I would suggest experimenting with various forms of export: to Excel or Word or csv, whatever. If any of these succeed, then you can inhale the results. A. On 5/16/07, John Clark wrote: > > I have a user who has setup her own DB...good that she has an interest in > Access...bad that she THINKS she is capable of doing this. I have had to > bail her out before, and once again my help has been requested. OK, so maybe > I got a little chip on my shoulder w/this one ;o) > > Anyhow, a fellow employee deleted some records and now there is some form > of corruption going on. I am viewing this is A2K3 and, in one of the tables > (CANDIDATES TABLE) there is a record where each of the fields says, > "#Deleted." And, in another table (EXAM LIST), which has a relationship > w/the first table, if you press the "plus sign", to the left of each > record...any record in the table...you get a pop-up saying, "Record is > Deleted." > > I tried to delete the record w/the "#Deleted" contents in it, but although > you have to verify deleting one record, and it does appear to go away, if > you leave the table and reenter it, the record is back. > > I was extremely busy the last two days, so I tried the quick fix of > creating a new DB and importing all the objects, but this did not work. It > would not import the table, "CANDIDATES TABLE." > > I was going to recover the DB, in a working state, from a backup tape, and > just export a group of records that were recently input, out to there, but > I'm not sure I can do this either. For one thing, I don't know if I can be > sure to get all the related fields correct. > > I am about to tell them, "Here is your recovered database. You will need > to re-enter the data you've lost. Sorry!" But I wanted to run it by this > list first. > > Any ideas?! > > John W. Clark > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jimdettman at verizon.net Wed May 16 10:09:15 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 11:09:15 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: <000d01c797cc$2c387ad0$8abea8c0@XPS> Jim, <> In regards to ADO, that's not correct. ADO was designed as a universal data connector lib. It allows you to connect to databases, spreadsheets, text files, etc. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 16 10:12:24 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 08:12:24 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <000d01c797cc$2c387ad0$8abea8c0@XPS> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com><9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <000d01c797cc$2c387ad0$8abea8c0@XPS> Message-ID: You beat me to it, Jim. I was going to say the same thing. ADO is about manipulating *data* not tables, fields, etc. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 16, 2007 8:09 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Jim, <> In regards to ADO, that's not correct. ADO was designed as a universal data connector lib. It allows you to connect to databases, spreadsheets, text files, etc. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 May 16 09:45:34 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 10:45:34 -0400 Subject: [AccessD] (no subject) In-Reply-To: <002501c797c4$03603790$8abea8c0@XPS> References: <002501c797c4$03603790$8abea8c0@XPS> Message-ID: <29f585dd0705160745u5d89be95n5385c8affd38fe29@mail.gmail.com> Thank you for your considered response to our numerous comments, although I did kind of hurl when you wrote that "I don't consider any one of them to be more right or wrong then another." (ibid) You have to get over that. Databases are not a morally or intellectually relative universe. Just ask JWC, for example. More seriously, there are only four people on this list to take seriously, and I am not one of them. Arthur On 5/16/07, Jim Dettman wrote: > > All, > > First, sorry I didn't get back to this sooner and thank you all for your > comments and thoughts. > > Second, I'm not going to retch on anyone's ideas. Clearly this is a > complex problem and there are many shades of gray. I intentionally left > the original message simplistic because I didn't what to imprint too much > of > my thinking on the question, leaving it as wide open as possible. > > It was interesting to see the wide range of responses and I don't consider > anyone of them to be more right or wrong then another. Each one of us > made > choices when approaching a particular task and given the same task, anyone > of us might have done the same (or not). > > FWIW, my original layout was the simple "flat file" approach, simply > because I could easily nest contacts as many levels as need. It looked > like > this: > > tblContacts - Available system wide for all claims. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Company Address - y/n > Contact Type ID - Long - FK to tblLookups - Carrier, Adjuster, Employer, > Doctor, Attorney, Physical Therapist, etc. > Company Name - Text > Salutation ID - Long - FK to tblLookups > First Name - Text > Middle Initial - Text > Last Name - Text > Suffix - Text > Company/Group ID - Long - FK to tblContacts > Title - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Date/Time Last Contacted - mm/dd/yyyy > Phone - Work - (###) ###-#### > Fax - Work - (###) ###-#### > Ext (#####) > Phone - Home - (###) ###-#### > Fax - Home - (###) ###-#### > Phone - Alternate Number - (###) ###-#### > e-mail - Text > Web Site URL - Text > > > Of course there are a number of problems with this as well. Obviously > the multiple phone numbers is a no-no. However for many reasons, I don't > need more then those. I also don't care if someone has more then one > address as I only need to keep track of their primary address. Part of my > thinking on multiple addresses is that if I do track them, then by all > rights I should also be tracking when they are at each address or which > one > is "current", all of which is way beyond what I'm attempting to achieve. > > What the goal is, is to simply record " a point of contact", which is a > single address and one of several possible phone numbers. However I have > two types of contacts; individuals and companies (or groups). So I am > very > uncomfortable having everything in a single table. Once again as with the > lookup table issue, I would be relying on the programming to abstract part > of the normalization process. For example, if the Company Address flag is > set, the fields First Name, Last Name, etc would not be filled in, but > Company Name would. > > That's not great, but would be workable. Then I came to contact type. > For an individual, it might read "Doctor", but for a company, it would > read > "Doctors Office", in which there might be one or more doctors. So based > on > the company flag, I would have to switch the lookup list. Now I'd be > doing > more then turning on and off controls, but actually having to fetch > different sets of data, which is too far over the line for me. > > Net result is that I'm sitting with this layout at the moment: > > tblContacts - One record per individual. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Contact Type ID - Long - FK to tblLookups - Adjuster, Doctor, Attorney, > Physical Therapist, etc. > Salutation ID - Long - FK to tblLookups > First Name - Text > Middle Initial - Text > Last Name - Text > Suffix - Text > Group ID - Long - FK to tblContactGroups > Title - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Phone - Work - (###) ###-#### > Ext (#####) > Fax - Work - (###) ###-#### > Phone - Home - (###) ###-#### > Fax - Home - (###) ###-#### > Phone - Alternate Number (ie Cell) - (###) ###-#### > e-mail - Text > > tblContactGroups - One record per contact group. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Contact Type ID - Long - FK to tblLookups - Insurer, Doctor's Office, > Employer, etc. > Name - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Date/Time Last Contacted - mm/dd/yyyy > Phone - (###) ###-#### > Fax - (###) ###-#### > Phone - Alternate Number (ie. Backdoor number) - (###) ###-#### > e-mail - Text > Web Site URL - Text > > > That still doesn't get me normalized by a long shot. Besides the phone > numbers, etc I really should break out the relationship between > individuals > and Groups as right now, I could have two Presidents. But again I'm only > trying to keep contact information. The Title field is just for reference > and will not be used in any meaningful way. I really don't care about > someone's role within a group or company, just that they are associated > with > it. > > The only thing I don't like living with is the possibility of having Nulls > in a FK field (an individual with no group affiliation), so I may go ahead > and break it out anyway. Of course by splitting groups/companies out, > I've > now lost the ability for a group/company to be related to anything else > without adding a lot more tables, but for this app, I don't think it will > be > an issue. > > I am going to go through everyone's comments again however and think about > this a little more, but I think this is it. Of course I'm open to any > comments anyone would care to make as well. > > Once again, thanks for the time and thoughts! > > Jim. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 16 10:20:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:20:13 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Yes, except... >When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1) When using an MDB, DAO is usually much faster. 2) ...the reverse is true for ADO is a little vague. ADO is never "much faster", but since it can do things that ADO cannot this is irrelevant. As for a "better" object model, it is better stated that it has an object model optimized for abstracted data containers (if such a thing is possible). It is tough to say it is optimized for anything since it is designed to handle whatever is thrown at it. Other than that, it is a good summarization. Perhaps it could be placed up on our web site? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 May 16 10:24:36 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 11:24:36 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <000d01c797cc$2c387ad0$8abea8c0@XPS> Message-ID: <29f585dd0705160824j6cd13f20tfd8153fbf16023d7@mail.gmail.com> Yep. And I also want to see the demonstrations that ADO is slower than DAO. Unfortunately, these might be hard to provide, because it's irrelevant which is quicker against an MDB. On 5/16/07, Charlotte Foust wrote: > > You beat me to it, Jim. I was going to say the same thing. ADO is > about manipulating *data* not tables, fields, etc. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman > Sent: Wednesday, May 16, 2007 8:09 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Jim, > > < 4). > >> > > In regards to ADO, that's not correct. ADO was designed as a > universal data connector lib. It allows you to connect to databases, > spreadsheets, text files, etc. > > Jim. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest > what has been said. I combined all the comments in the hope I would > understand the concepts better. Below is what I gleaned out of the > correspondence. I do have one more question... When reviewing the > References list, how does one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific > library for MDBs (2). The library has objects for databases, tables, > queries, forms and reports (documents) modules etc. The library knows > all about the structure of the MDB and allows the programmer to program > to the pieces of an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the structure of the object which contains the tables / fields (ibid). > ADO is a more generic data handling model, and it handles that role much > better than DAO in many cases (1, 4). DAO will run parameter queries > using references on forms but ADO will fail (e.g. > Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models > Access will use the library first referenced unless specified otherwise > (3). The two models have objects of the same name but different methods > and properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's > (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the > same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). > DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is DAO since ADO does not understand the MDB structure (2). You can't > pass objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically > declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement > binds the variable to the correct object in the correct library and both > can be used "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server > to EXCEL at the drop of a connection string. It is also slower, often > times RADICALLY slower. DAO knows the details of the data store > intimately and can thus optimize its operations whereas ADO cannot. DAO > can only be used for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the > data store and either ADO or DAO can be used. The link uses ODBC > internally, but does not use ADO itself. ADO can (in code) directly > reference tables out in a NON-MDB data store using ODBC whereas DAO > cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, > Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, > Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 10:25:03 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 08:25:03 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: >>When reviewing the References list, how does one know which reference uses ADO vs DAO? You set a reference to the ActiveX Data Objects library to use ADO, just as you set a reference to the Microsoft DAO library to use DAO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 7:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 10:27:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:27:58 -0400 Subject: [AccessD] (no subject) In-Reply-To: <29f585dd0705160745u5d89be95n5385c8affd38fe29@mail.gmail.com> Message-ID: <20070516152756.A4C96BF14@smtp-auth.no-ip.com> >More seriously, there are only four people on this list to take seriously, and I am not one of them. ROTFL. You most certainly ARE (when you are on task). ;-) Oh... 8~( John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 16, 2007 10:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] (no subject) Thank you for your considered response to our numerous comments, although I did kind of hurl when you wrote that "I don't consider any one of them to be more right or wrong then another." (ibid) You have to get over that. Databases are not a morally or intellectually relative universe. Just ask JWC, for example. More seriously, there are only four people on this list to take seriously, and I am not one of them. Arthur From jwcolby at colbyconsulting.com Wed May 16 10:28:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:28:59 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Message-ID: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> >but since it can do things that ADO cannot this is irrelevant. Should be but since it can do things that DAO cannot this is irrelevant. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 11:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Yes, except... >When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1) When using an MDB, DAO is usually much faster. 2) ...the reverse is true for ADO is a little vague. ADO is never "much faster", but since it can do things that ADO cannot this is irrelevant. As for a "better" object model, it is better stated that it has an object model optimized for abstracted data containers (if such a thing is possible). It is tough to say it is optimized for anything since it is designed to handle whatever is thrown at it. Other than that, it is a good summarization. Perhaps it could be placed up on our web site? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 setel.com Wed May 16 10:32:50 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 11:32:50 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Message-ID: <000301c797cf$776bdad0$feb62ad1@SusanOne> Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. From john at winhaven.net Wed May 16 10:48:33 2007 From: john at winhaven.net (John Bartow) Date: Wed, 16 May 2007 10:48:33 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <000301c797cf$776bdad0$feb62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com> <000301c797cf$776bdad0$feb62ad1@SusanOne> Message-ID: <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. From JHewson at karta.com Wed May 16 10:53:19 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 10:53:19 -0500 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <000301c797cf$776bdad0$feb62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com> <000301c797cf$776bdad0$feb62ad1@SusanOne> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6561@karta-exc-int.Karta.com> 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 11:10:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 12:10:56 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6561@karta-exc-int.Karta.com> Message-ID: <20070516161054.E1393BD44@smtp-auth.no-ip.com> Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 Chester_Kaup at kindermorgan.com Wed May 16 11:28:29 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Wed, 16 May 2007 11:28:29 -0500 Subject: [AccessD] Select 2 fields from a subquery Message-ID: I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. From ssharkins at setel.com Wed May 16 11:31:44 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 12:31:44 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne> <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> Message-ID: <000c01c797d7$b1f62590$98b62ad1@SusanOne> Jim, would you mind incorporating the technical corrections you receive and then sending it to me? Susan H. Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. From Gustav at cactus.dk Wed May 16 11:52:17 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 18:52:17 +0200 Subject: [AccessD] Select 2 fields from a subquery Message-ID: Hi Chester The "quick" solution (it may run slow) is to repeat the subquery for the other field: SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent, (Select Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent2 FROM T_PriceCurrent; /gustav >>> Chester_Kaup at kindermorgan.com 16-05-2007 18:28:29 >>> I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 From John.Clark at niagaracounty.com Wed May 16 11:58:23 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 12:58:23 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> References: <464ADA3F.167F.006B.0@niagaracounty.com> <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> Message-ID: <464AFFEC.167F.006B.0@niagaracounty.com> Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 12:10:05 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 13:10:05 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464AFFEC.167F.006B.0@niagaracounty.com> Message-ID: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Yea, that is what the list is for. I can't count the times I have pressed the send only to have the answer pop into my head. As for bothering others, if they don't want to be bothered they are on the wrong list. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 12:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will > need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Wed May 16 12:26:46 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 16 May 2007 13:26:46 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> References: <464AFFEC.167F.006B.0@niagaracounty.com> <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Message-ID: On 5/16/07, jwcolby wrote: > Yea, that is what the list is for. I can't count the times I have pressed > the send only to have the answer pop into my head. That's what's called the ohsecond!! The second you press send, "Oh That's the answer" pops into your head :) -- 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 accessd at shaw.ca Wed May 16 12:38:14 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 10:38:14 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516161054.E1393BD44@smtp-auth.no-ip.com> Message-ID: <0JI500JGQA3HGF00@l-daemon> I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 JHewson at karta.com Wed May 16 12:37:46 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 12:37:46 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <000c01c797d7$b1f62590$98b62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne><01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> <000c01c797d7$b1f62590$98b62ad1@SusanOne> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> Done, I sent a Word Doc off list. Except the last bit of correction John Colby posted. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 11:32 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Jim, would you mind incorporating the technical corrections you receive and then sending it to me? Susan H. Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 12:53:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 13:53:58 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500JGQA3HGF00@l-daemon> Message-ID: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> >There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 16 12:58:10 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 10:58:10 -0700 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> References: <464AFFEC.167F.006B.0@niagaracounty.com> <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Message-ID: >>if they don't want to be bothered they are on the wrong list. LOL Especially with *you* here, John! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:10 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Yea, that is what the list is for. I can't count the times I have pressed the send only to have the answer pop into my head. As for bothering others, if they don't want to be bothered they are on the wrong list. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 12:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will > need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Wed May 16 12:59:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 10:59:19 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500JGQA3HGF00@l-daemon> References: <20070516161054.E1393BD44@smtp-auth.no-ip.com> <0JI500JGQA3HGF00@l-daemon> Message-ID: I disagree, Jim. ADO can't handle most of the UI manipulation that DAO can. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 10:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From CFraase at officeimagesinc.com Wed May 16 13:49:51 2007 From: CFraase at officeimagesinc.com (Cindy Fraase) Date: Wed, 16 May 2007 14:49:51 -0400 Subject: [AccessD] Excel Automation problem In-Reply-To: References: Message-ID: Hi All, I finally got back to the computer that was having trouble. The references were in the same order, so that wasn't it. But I simply reregistered the DAO360 dll and everything works again! I thought I'd post this in case anyone else runs across the problem. Cindy Cynthia Fraase Asst. Controller Direct: 678-325-3251 Cell: 770-318-0628 Fax: 770-641-2656 www.officeimagesinc.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, April 20, 2007 12:55 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Excel Automation problem Hi Cindy It could be an MDAC versions mis-match: http://search.msdn.microsoft.com/search/Default.aspx?brand=msdn&locale=e n-us&query=430+Class+does+not+support+Automation+or+does+not+support+exp ected /gustav >>> CFraase at officeimagesinc.com 20-04-2007 18:40 >>> Hi all, I'm really mystified as to what is happening. The following line of code works fine on my machine, but fails with this error on another. Both machines are running Access 2003 and all of the references match. The database is in Access 2002-3 format. It's located on the server, so I'm running exactly the same database as he is. I've created an Excel sheet via automation and am filling it with data here. The line is: objSheet2.Range("A2").CopyFromRecordset rsSalary The error message I get is: 430 Class does not support Automation or does not support expected interface. Any insights would be greatly appreciated! Thanks, Cindy -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 16 13:48:58 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 16 May 2007 13:48:58 -0500 Subject: [AccessD] Sending text direct to printer, Solution! In-Reply-To: <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com><4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> Message-ID: <038501c797ea$dee5c4d0$046fa8c0@lcmdv8000> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Wed May 16 13:59:13 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 20:59:13 +0200 Subject: [AccessD] Sending text direct to printer, Solution! Message-ID: Hi Larry That will work. However, be prepared the printing process will be much longer than sending strings directly to the printer. It may not matter in your situation, but if you print to a POS receipt printer it will, as in that situation every second counts. /gustav >>> lmrazek at lcm-res.com 16-05-2007 20:48:58 >>> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From martyconnelly at shaw.ca Wed May 16 14:15:19 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 16 May 2007 12:15:19 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> References: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> Message-ID: <464B5847.1030100@shaw.ca> You might want to pinch jpegs of the two object models for DAO and ADO. Plenty on MS site. This one ain't that great. DAO Object Model dbEngine | Workspaces _________|____________________________ | | | Databases Users Groups | | | | Groups Users ____ _|____________________________________ | | | TableDefs QueryDefs | ___|____ _____|_____ | | | | | | Fields Indexes Fields Parameters | | | Fields | ____________ | ___________ | | | Recordsets Relations Containers | | | Fields Fields Documents Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Wed May 16 15:15:48 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 13:15:48 -0700 Subject: [AccessD] OT DBA web site In-Reply-To: Message-ID: <0JI500AF5HE3G3D0@l-daemon> Hi All: The DBA site has been updated with a new page under the Reference section. It holds a list of links to various MS SQL 2005 and MS Visual Studio apps, refs and downloads. There is a number of other links to add this page but this is the first pass. Also have a tentative link to the DBA Summer Conference. More details will be posted as they become available. (I suspect the conference time-table and details are directly linked to John getting his server app running/finished ;-).... so you guys get to work. JimL PS I have noticed that there seems to be a proliferation of 'Jims' on this site. It is getting very confusing as it is becoming hard to know what I said or didn't say. Maybe adding the first letter of the last name might help. e.i. JimL. (We also have a lot of Johns on site... but that is for them to deal with.) From ssharkins at setel.com Wed May 16 15:13:35 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 16:13:35 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne><01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq><000c01c797d7$b1f62590$98b62ad1@SusanOne> <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> Message-ID: <000a01c797f6$af844a20$4a32fad1@SusanOne> Let's do this -- I can't keep up with the conversation and hope to make every change without missing something. If those who contributed are willing -- would you please look over the document (follows), make necessary changes, and send them to me privately. I'll compile them and resubmit the edited doc to the list for a final check. Are you guys agreeable to that? Susan H. 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Susan H. From jwcolby at colbyconsulting.com Wed May 16 15:22:03 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 16:22:03 -0400 Subject: [AccessD] OT DBA web site In-Reply-To: <0JI500AF5HE3G3D0@l-daemon> Message-ID: <20070516202202.1BD94BC6B@smtp-auth.no-ip.com> It all looks mighty fine. Thanks for all the hard work you do on this stuff. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 4:16 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT DBA web site Hi All: The DBA site has been updated with a new page under the Reference section. It holds a list of links to various MS SQL 2005 and MS Visual Studio apps, refs and downloads. There is a number of other links to add this page but this is the first pass. Also have a tentative link to the DBA Summer Conference. More details will be posted as they become available. (I suspect the conference time-table and details are directly linked to John getting his server app running/finished ;-).... so you guys get to work. JimL PS I have noticed that there seems to be a proliferation of 'Jims' on this site. It is getting very confusing as it is becoming hard to know what I said or didn't say. Maybe adding the first letter of the last name might help. e.i. JimL. (We also have a lot of Johns on site... but that is for them to deal with.) -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 16 15:26:02 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 16 May 2007 15:26:02 -0500 Subject: [AccessD] Sending text direct to printer, Solution! In-Reply-To: References: Message-ID: <03ba01c797f8$6dd333f0$046fa8c0@lcmdv8000> Hi Gustav: Good point. In this case, it shouldn't matter, since it will be sent to a HP Jet Direct Print Server. Basically, the barcodes print out automatically, and are slapped on a pallet with other information. Thanks again to all regarding this problem. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 16, 2007 1:59 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Sending text direct to printer, Solution! Hi Larry That will work. However, be prepared the printing process will be much longer than sending strings directly to the printer. It may not matter in your situation, but if you print to a POS receipt printer it will, as in that situation every second counts. /gustav >>> lmrazek at lcm-res.com 16-05-2007 20:48:58 >>> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Wed May 16 15:39:07 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 13:39:07 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> Message-ID: <0JI500DCTIGYJNA0@l-daemon> Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Wed May 16 15:57:30 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 13:57:30 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500DCTIGYJNA0@l-daemon> References: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> <0JI500DCTIGYJNA0@l-daemon> Message-ID: That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 andy at minstersystems.co.uk Wed May 16 16:05:12 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 22:05:12 +0100 Subject: [AccessD] OT DBA web site In-Reply-To: <20070516202202.1BD94BC6B@smtp-auth.no-ip.com> Message-ID: <007f01c797fd$e4f2b5a0$d787d355@minster33c3r25> Yes thanks JimL. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: 16 May 2007 21:22 > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT DBA web site > > > It all looks mighty fine. Thanks for all the hard work you > do on this stuff. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: Wednesday, May 16, 2007 4:16 PM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] OT DBA web site > > Hi All: > > The DBA site has been updated with a new page under the > Reference section. It holds a list of links to various MS SQL > 2005 and MS Visual Studio apps, refs and downloads. There is > a number of other links to add this page but this is the first pass. > > Also have a tentative link to the DBA Summer Conference. More > details will be posted as they become available. (I suspect > the conference time-table and details are directly linked to > John getting his server app running/finished ;-).... so you > guys get to work. > > JimL > > PS I have noticed that there seems to be a proliferation of > 'Jims' on this site. It is getting very confusing as it is > becoming hard to know what I said or didn't say. Maybe adding > the first letter of the last name might help. e.i. JimL. (We > also have a lot of Johns on site... but that is for > them to deal with.) > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Chester_Kaup at kindermorgan.com Wed May 16 16:28:06 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Wed, 16 May 2007 16:28:06 -0500 Subject: [AccessD] Select 2 fields from a subquery In-Reply-To: References: Message-ID: Thanks. Works really fast on a few records. I will have to check on using it on more records. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 16, 2007 11:52 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select 2 fields from a subquery Hi Chester The "quick" solution (it may run slow) is to repeat the subquery for the other field: SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent, (Select Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent2 FROM T_PriceCurrent; /gustav >>> Chester_Kaup at kindermorgan.com 16-05-2007 18:28:29 >>> I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Wed May 16 16:52:15 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 14:52:15 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: Message-ID: <0JI500B9BLUU4M10@l-daemon> Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 stuart at lexacorp.com.pg Wed May 16 16:58:21 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 17 May 2007 07:58:21 +1000 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <464AFFEC.167F.006B.0@niagaracounty.com>, <20070516171003.8A095BF0E@smtp-auth.no-ip.com>, Message-ID: <464B7E7D.18985.2431CC5F@stuart.lexacorp.com.pg> On 16 May 2007 at 13:26, Bryan Carbonnell wrote: > On 5/16/07, jwcolby wrote: > > Yea, that is what the list is for. I can't count the times I have pressed > > the send only to have the answer pop into my head. > > That's what's called the ohsecond!! > > The second you press send, "Oh That's the answer" pops into your head :) Which is longer than an ohnosecond: ohnosecond An instant of time even smaller than a microsecond in which you realize the disastrous consequences of your actions. Usually applies to the moment when you realize the command you?ve just given is deleting important data. -- Stuart From wdhindman at dejpolsystems.com Wed May 16 17:52:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 18:52:45 -0400 Subject: [AccessD] Weird Problem...for me anyhow References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com><003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local><464ACB4D.167F.006B.0@niagaracounty.com> <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: <001401c7980c$eb974f60$7d7d6c4c@jisshowsbs.local> ...first you have to tell us when you got promoted from rookie? :) William Hindman ----- Original Message ----- From: "John Clark" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 10:17 AM Subject: Re: [AccessD] Weird Problem...for me anyhow > You know, I am feeling pretty damn silly right about now. This is the > first thing that I would normally try, but I guess I just sort of assumed > (yeah, I know, I know) that they would have done this before calling me, > so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for > this?! ;o) > > John W. Clark > >>>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> > On 5/16/07, John Clark wrote: >> I have a user who has setup her own DB...good that she has an interest in >> Access...bad that she THINKS she is capable of doing this. I have had to >> bail her out before, and once again my help has been requested. OK, so >> maybe I got a little chip on my shoulder w/this one ;o) > > > >> I am about to tell them, "Here is your recovered database. You will need >> to re-enter the data you've lost. Sorry!" But I wanted to run it by this >> list first. >> >> Any ideas?! > > Couple of Shots in the dark. > > How about a Compact & Repair? > > Failing that, create a new table with the same layout as the first, > then do an append from the corrupted table to the new table. > > -- > 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 wdhindman at dejpolsystems.com Wed May 16 18:03:50 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 19:03:50 -0400 Subject: [AccessD] DAO vs ADO References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com><9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><000d01c797cc$2c387ad0$8abea8c0@XPS> <29f585dd0705160824j6cd13f20tfd8153fbf16023d7@mail.gmail.com> Message-ID: <003001c7980e$7846abd0$7d7d6c4c@jisshowsbs.local> "it's irrelevant which is quicker against an MDB." Arthur ...yep, you were right Arthur ...you're not to be taken seriously :)))) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 11:24 AM Subject: Re: [AccessD] DAO vs ADO > Yep. And I also want to see the demonstrations that ADO is slower than > DAO. > Unfortunately, these might be hard to provide, because it's irrelevant > which > is quicker against an MDB. > > On 5/16/07, Charlotte Foust wrote: >> >> You beat me to it, Jim. I was going to say the same thing. ADO is >> about manipulating *data* not tables, fields, etc. >> >> Charlotte Foust >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >> Sent: Wednesday, May 16, 2007 8:09 AM >> To: 'Access Developers discussion and problem solving' >> Subject: Re: [AccessD] DAO vs ADO >> >> Jim, >> >> <> 4). >> >> >> >> In regards to ADO, that's not correct. ADO was designed as a >> universal data connector lib. It allows you to connect to databases, >> spreadsheets, text files, etc. >> >> Jim. >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson >> Sent: Wednesday, May 16, 2007 10:58 AM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] DAO vs ADO >> >> Thanks to everyone who replied. >> I'm sometimes a little bone-headed and it takes me sometime to digest >> what has been said. I combined all the comments in the hope I would >> understand the concepts better. Below is what I gleaned out of the >> correspondence. I do have one more question... When reviewing the >> References list, how does one know which reference uses ADO vs DAO? >> >> Thanks, >> >> 1. The difference between DAO and ADO. >> DAO is optimized for the Jet Engine (1) and is a specific >> library for MDBs (2). The library has objects for databases, tables, >> queries, forms and reports (documents) modules etc. The library knows >> all about the structure of the MDB and allows the programmer to program >> to the pieces of an MDB container (1, 2, 4). >> >> ADO on the other hand is an abstracted library that is used to >> manipulate tables, fields and their properties. It does not understand >> the structure of the object which contains the tables / fields (ibid). >> ADO is a more generic data handling model, and it handles that role much >> better than DAO in many cases (1, 4). DAO will run parameter queries >> using references on forms but ADO will fail (e.g. >> Forms!frmSomething!cmbSomething) (4). >> >> When identical functions are included in both object models >> Access will use the library first referenced unless specified otherwise >> (3). The two models have objects of the same name but different methods >> and properties (1). ADO is more flexible than DAO (4). >> >> DAO was designed specifically for Jet and ADO around SQL db BE's >> (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a >> better object model ...the reverse is true for ADO (3). >> >> 1a. Examining VBA code to determine which library is used >> There is much confusion because both libraries have some of the >> same >> objects. If an object is not dimensioned (Dim) VB attempts to use the >> reference physically closest to the top of the reference list (2, 3). >> DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function >> interchangeably. If a reference is any part of a mdb structure, then it >> is DAO since ADO does not understand the MDB structure (2). You can't >> pass objects back and forth between ADO and DAO (1). >> >> 1b. Mixing DAO and ADO >> They can be mixed but dimension statements must specifically >> declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement >> binds the variable to the correct object in the correct library and both >> can be used "at the same time" (2). >> >> 2. Recommendation for MDBs >> ADO is abstracted, allowing one to switch from MDB to SQL Server >> to EXCEL at the drop of a connection string. It is also slower, often >> times RADICALLY slower. DAO knows the details of the data store >> intimately and can thus optimize its operations whereas ADO cannot. DAO >> can only be used for an MDB or a LINKED table (2). >> >> 3. Connecting to data store >> When working with an ADP, which is an Access FE directly to SQL >> Server without linked tables, ADO is necessary (1, 3). DAO can't handle >> an ADO recordset and vice versa (1). >> >> If the table is linked, the link handles the connection to the >> data store and either ADO or DAO can be used. The link uses ODBC >> internally, but does not use ADO itself. ADO can (in code) directly >> reference tables out in a NON-MDB data store using ODBC whereas DAO >> cannot (2). >> >> >> Recommendations: >> 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar >> objects (e.g. DAO.Recordset or ADODB.Recordset). >> 2. Use DAO when: >> a. Connecting to a data store via a LINK (SQL Server, MDB, >> Excel, >> etc.) >> b. within an Access MDB container >> 3. Use ADO when: >> a. ODBC is used to an external data store (SQL Server, MDB, >> Excel, >> etc.) >> b. working with an ADP >> >> >> 1. Charlotte Foust >> 2. John Colby >> 3. William Hindman >> 4. Drew Wutka >> >> Jim >> jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 18:00:18 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 16:00:18 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500B9BLUU4M10@l-daemon> References: <0JI500B9BLUU4M10@l-daemon> Message-ID: My point was that separate references have to be set in order to use that functionality. It isn't built into the ADODB library, while DAO requires only a single reference. We may loosely refer to it all as "ADO" but to anyone not familiar with it, that would be misleading. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 2:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Wed May 16 18:16:05 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 19:16:05 -0400 Subject: [AccessD] DAO vs ADO References: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> Message-ID: <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> ...other than some rarely used data typing and access to the jet user roster that MS stuck in Jet4 without updating DAO, I'd be interested in exactly what ADO can do that can't be done with DAO when an mdb is the be ...actually, I can even do the data typing and roster access from DAO without ever referencing the ADO libraries. ...much as it pains the ADO advocates, the simple fact is that MS tried to deprecate DAO in favor of ADO and failed ...ADO is now a terminus object model and DAO has been renamed and given new life as the focus of A2K7 ...anything new ADO wise will be in ADO.Net, not ADO. ...can DAO.Net (or its evil twin) be far behind? William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 16, 2007 11:28 AM Subject: Re: [AccessD] DAO vs ADO > >but since it can do things that ADO cannot this is irrelevant. > > Should be > > but since it can do things that DAO cannot this is irrelevant. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Wednesday, May 16, 2007 11:20 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Yes, except... > >>When using an mdb/Jet BE's DAO is usually much faster and has a better > object model ...the reverse is true for ADO (3). > > 1) When using an MDB, DAO is usually much faster. > 2) ...the reverse is true for ADO is a little vague. > > ADO is never "much faster", but since it can do things that ADO cannot > this > is irrelevant. As for a "better" object model, it is better stated that > it > has an object model optimized for abstracted data containers (if such a > thing is possible). It is tough to say it is optimized for anything since > it is designed to handle whatever is thrown at it. > > Other than that, it is a good summarization. Perhaps it could be placed > up > on our web site? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest what > has been said. I combined all the comments in the hope I would understand > the concepts better. Below is what I gleaned out of the correspondence. > I > do have one more question... When reviewing the References list, how does > one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific library > for MDBs (2). The library has objects for databases, tables, queries, > forms > and reports (documents) modules etc. The library knows all about the > structure of the MDB and allows the programmer to program to the pieces of > an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the > structure of the object which contains the tables / fields (ibid). ADO is > a > more generic data handling model, and it handles that role much better > than > DAO in many cases (1, 4). DAO will run parameter queries using references > on > forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models Access > will use the library first referenced unless specified otherwise (3). The > two models have objects of the same name but different methods and > properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's (3, > 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better > object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). DAO > and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is > DAO since ADO does not understand the MDB structure (2). You can't pass > objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically declare > objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the > variable to the correct object in the correct library and both can be used > "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server to > EXCEL at the drop of a connection string. It is also slower, often times > RADICALLY slower. DAO knows the details of the data store intimately and > can thus optimize its operations whereas ADO cannot. DAO can only be used > for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an > ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the data > store and either ADO or DAO can be used. The link uses ODBC internally, > but > does not use ADO itself. ADO can (in code) directly reference tables out > in > a NON-MDB data store using ODBC whereas DAO cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 18:33:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 16:33:16 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> References: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> Message-ID: What version of Access are you using, William? Microsoft in their wisdom built some of both DAO AND ADO into Access 2003, so you can do some things without referencing the libraries directly. Not true of earlier versions, and yes, I'd say DAO.net will be very, very far behind because it's jet specific, which means no managed code. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 16, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO ...other than some rarely used data typing and access to the jet user roster that MS stuck in Jet4 without updating DAO, I'd be interested in exactly what ADO can do that can't be done with DAO when an mdb is the be ...actually, I can even do the data typing and roster access from DAO without ever referencing the ADO libraries. ...much as it pains the ADO advocates, the simple fact is that MS tried to deprecate DAO in favor of ADO and failed ...ADO is now a terminus object model and DAO has been renamed and given new life as the focus of A2K7 ...anything new ADO wise will be in ADO.Net, not ADO. ...can DAO.Net (or its evil twin) be far behind? William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 16, 2007 11:28 AM Subject: Re: [AccessD] DAO vs ADO > >but since it can do things that ADO cannot this is irrelevant. > > Should be > > but since it can do things that DAO cannot this is irrelevant. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Wednesday, May 16, 2007 11:20 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Yes, except... > >>When using an mdb/Jet BE's DAO is usually much faster and has a better > object model ...the reverse is true for ADO (3). > > 1) When using an MDB, DAO is usually much faster. > 2) ...the reverse is true for ADO is a little vague. > > ADO is never "much faster", but since it can do things that ADO cannot > this > is irrelevant. As for a "better" object model, it is better stated that > it > has an object model optimized for abstracted data containers (if such a > thing is possible). It is tough to say it is optimized for anything since > it is designed to handle whatever is thrown at it. > > Other than that, it is a good summarization. Perhaps it could be placed > up > on our web site? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest what > has been said. I combined all the comments in the hope I would understand > the concepts better. Below is what I gleaned out of the correspondence. > I > do have one more question... When reviewing the References list, how does > one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific library > for MDBs (2). The library has objects for databases, tables, queries, > forms > and reports (documents) modules etc. The library knows all about the > structure of the MDB and allows the programmer to program to the pieces of > an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the > structure of the object which contains the tables / fields (ibid). ADO is > a > more generic data handling model, and it handles that role much better > than > DAO in many cases (1, 4). DAO will run parameter queries using references > on > forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models Access > will use the library first referenced unless specified otherwise (3). The > two models have objects of the same name but different methods and > properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's (3, > 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better > object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). DAO > and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is > DAO since ADO does not understand the MDB structure (2). You can't pass > objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically declare > objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the > variable to the correct object in the correct library and both can be used > "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server to > EXCEL at the drop of a connection string. It is also slower, often times > RADICALLY slower. DAO knows the details of the data store intimately and > can thus optimize its operations whereas ADO cannot. DAO can only be used > for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an > ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the data > store and either ADO or DAO can be used. The link uses ODBC internally, > but > does not use ADO itself. ADO can (in code) directly reference tables out > in > a NON-MDB data store using ODBC whereas DAO cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 accessd at shaw.ca Wed May 16 22:40:16 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 20:40:16 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <46437DFF.1000303@shaw.ca> Message-ID: <0JI6005KD1YTCO30@l-daemon> Hi Marty and anyone else interested: The solution to the AJAX invalidly encoded return data has been solved. It appears that any data returned from a source must have a header supplied. The caller reads this first and sets the configuration appropriately. But that the first returning data (first line) must set the encoding. In the event of an ASP server page the first line might be something like: Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" ...or PHP like: header("Content-type: text/html; charset=iso-8859-1"); ...or when any type of transaction takes place between a server and client an appropriate header must be supplied. When an ASP.Net server script is serving a PDF file: Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") ..or initiate data Report: response.addheader("Content-Disposition", inline; filename=Report"); ... or set up for receiving XML data: It all seems very obvious now. Hope this helps someone who is thinking of working with AJAX or extensively with Server/Client applications. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 1:18 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Thu May 17 00:06:26 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Thu, 17 May 2007 00:06:26 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <001401c7980c$eb974f60$7d7d6c4c@jisshowsbs.local> Message-ID: Cut my brother some slack... ;) Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 16, 2007 5:53 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow ...first you have to tell us when you got promoted from rookie? :) William Hindman ----- Original Message ----- From: "John Clark" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 10:17 AM Subject: Re: [AccessD] Weird Problem...for me anyhow > You know, I am feeling pretty damn silly right about now. This is the > first thing that I would normally try, but I guess I just sort of assumed > (yeah, I know, I know) that they would have done this before calling me, > so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for > this?! ;o) > > John W. Clark > >>>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> > On 5/16/07, John Clark wrote: >> I have a user who has setup her own DB...good that she has an interest in >> Access...bad that she THINKS she is capable of doing this. I have had to >> bail her out before, and once again my help has been requested. OK, so >> maybe I got a little chip on my shoulder w/this one ;o) > > > >> I am about to tell them, "Here is your recovered database. You will need >> to re-enter the data you've lost. Sorry!" But I wanted to run it by this >> list first. >> >> Any ideas?! > > Couple of Shots in the dark. > > How about a Compact & Repair? > > Failing that, create a new table with the same layout as the first, > then do an append from the corrupted table to the new table. > > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From ssharkins at setel.com Thu May 17 08:49:41 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 09:49:41 -0400 Subject: [AccessD] OpenArgs Message-ID: <000301c7988a$3a814e50$4db62ad1@SusanOne> Can you use the OpenForm method's OpenArgs argument to set a property for the opened form? I've been trying, but I'm just not getting it right, if it's possible. Seems like I've done this before. Susan H. From ssharkins at setel.com Thu May 17 08:52:50 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 09:52:50 -0400 Subject: [AccessD] NEVERMIND ( OpenArgs) Message-ID: <000401c7988a$a9492380$4db62ad1@SusanOne> Nevermind -- as soon as I sent the question, I figured it out -- that happens to me a lot -- it's like clicking Send somehow unhides the solution. ;) Susan H. Can you use the OpenForm method's OpenArgs argument to set a property for the opened form? I've been trying, but I'm just not getting it right, if it's possible. Seems like I've done this before. Susan H. From erbachs at gmail.com Thu May 17 09:40:29 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 17 May 2007 09:40:29 -0500 Subject: [AccessD] OpenArgs In-Reply-To: <000301c7988a$3a814e50$4db62ad1@SusanOne> References: <000301c7988a$3a814e50$4db62ad1@SusanOne> Message-ID: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. Steve Erbach On 5/17/07, Susan Harkins wrote: > Can you use the OpenForm method's OpenArgs argument to set a property for > the opened form? I've been trying, but I'm just not getting it right, if > it's possible. Seems like I've done this before. > > Susan H. > From erbachs at gmail.com Thu May 17 09:48:03 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 17 May 2007 09:48:03 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> References: <464ADA3F.167F.006B.0@niagaracounty.com> <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> Message-ID: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> John, Like Chuck Connors in the old "Branded" TV show! Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/16/07, jwcolby wrote: > >Do I get demoted to rookie for this? > > OH YEA! You lose one stripe for assuming that the user did anything. You > lose another for not just doing a compact / repair before you try anything > else. And you lose a third stripe for bothering so many people. > > ;-) > > John W. Colby > Colby Consulting From DElam at jenkens.com Thu May 17 10:00:04 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Thu, 17 May 2007 10:00:04 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function From jwcolby at colbyconsulting.com Thu May 17 10:04:54 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:04:54 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> Message-ID: <20070517150452.C8923BE61@smtp-auth.no-ip.com> LOL, that was the EXACT visual I had as I was writing that, RIPPING the stripe(s) off his arm . You have to be a certain age to even remember that series. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Thursday, May 17, 2007 10:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow John, Like Chuck Connors in the old "Branded" TV show! Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/16/07, jwcolby wrote: > >Do I get demoted to rookie for this? > > OH YEA! You lose one stripe for assuming that the user did anything. > You lose another for not just doing a compact / repair before you try > anything else. And you lose a third stripe for bothering so many people. > > ;-) > > John W. Colby > Colby Consulting -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 17 10:06:34 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 17 May 2007 11:06:34 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: References: <0JI500B9BLUU4M10@l-daemon> Message-ID: <001a01c79894$f60c2000$8abea8c0@XPS> Don't forget JRO as well... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 7:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization My point was that separate references have to be set in order to use that functionality. It isn't built into the ADODB library, while DAO requires only a single reference. We may loosely refer to it all as "ADO" but to anyone not familiar with it, that would be misleading. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 2:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ssharkins at setel.com Thu May 17 10:10:33 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 11:10:33 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> References: <000301c7988a$3a814e50$4db62ad1@SusanOne> <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Message-ID: <000801c79895$84dd6780$4db62ad1@SusanOne> I was trying to set a form's DataEntry property to True, but it wasn't working -- numskull... It worked when I remember to add the Forms! identifier. Susan H. Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. From jwcolby at colbyconsulting.com Thu May 17 10:19:39 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:19:39 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Message-ID: <20070517151937.4243CBDCD@smtp-auth.no-ip.com> U actually wrote a pair of classes to handle this. Of course I then embedded it in my form class but it can run independently. The base class clsOpenArgs (plural) grabs the Openargs string and knows how to parse them. The format is the old format: VarName1=VarVal1;VarName2=VarVal2; The child class OpenArg (singular) just holds the var name / value and is held in a collection in the parent class. In my implementation The parent class can be passed a param telling it to expect to process form properties and as such looks up the VarName in the Properties collection of the form. If found it sets the form.SomeProperty = the var value. IOW, I might pass in: AllowEdits=True;AllowAdds=False;AllowDeletes=False; clsOpenArgs tries to map AllowEdits to a form property. Since it succeeds it sets the form's AllowEdits property to True (the passed in value in this case). It works GREAT, and is an example of how a framework is built up over time as I needed functionality. clsOpenArgs also has a method that allows me to pass in an argument name and returns the argument value. I will send another email with actual code. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Thursday, May 17, 2007 10:40 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OpenArgs Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. Steve Erbach From jwcolby at colbyconsulting.com Thu May 17 10:20:26 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:20:26 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <000801c79895$84dd6780$4db62ad1@SusanOne> Message-ID: <20070517152024.59A89BE3C@smtp-auth.no-ip.com> The clsOpenArg: Option Compare Database Option Explicit ' 'This class stores one OpenArg ' Private mstrArgName As String Private mvarArgVal As Variant Private mblnIsProperty As Boolean Function mInit(lstrArgName As String, lvarArgVal As Variant) mstrArgName = lstrArgName mvarArgVal = lvarArgVal End Function Function pName() As String pName = mstrArgName End Function Function pVal() As Variant pVal = mvarArgVal End Function Property Let pIsPrp(lmblnIsProperty As Boolean) mblnIsProperty = lmblnIsProperty End Property Property Get pIsPrp() As Boolean pIsPrp = mblnIsProperty End Property John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 17 10:38:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:38:36 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <000801c79895$84dd6780$4db62ad1@SusanOne> Message-ID: <20070517153834.32F09BCE5@smtp-auth.no-ip.com> '************ 'The following is clsOpenArgs (parent to clsOpenArg) '************ Option Compare Database Option Explicit ' BEHAVIORS: ' ' 'When a form opens, it can accept open args, a text string argument. 'The framework will check for openargs, and if they exist will check 'inside the Openagrs for arguments named the same thing as form properties. 'If such arguments are found, the framework will set the form's property 'equal to the argument value. ' 'I use this specifically to set up normal forms to be DataEntry forms '(only allow new records to be added, not existing records edited) ' 'I decided to encapsulate this functionality in a class to make the OpenArgs 'processing cleanly defined. ' '-------------------------------------------------------------------------- ' Private mfrm As Form 'A form reference passed in Private mstrOpenArgs As String Private mcolOpenArg As Collection '.------------------------------------------------------------------------- 'THESE FUNCTIONS / SUBS ARE USED INTERNALLY TO THE CLASS '*+ Private Init/Terminate Interface Private Sub Class_Initialize() Set mcolOpenArg = New Collection End Sub Private Sub Class_Terminate() Set mcolOpenArg = Nothing End Sub 'INITIALIZE THE CLASS Public Sub mInit(lfrm As Form, _ Optional blnApplyProperties As Boolean = False) Set mfrm = lfrm 'The openargs string might be null On Error Resume Next mstrOpenArgs = mfrm.OpenArgs ParseOpenArgs ' 'The default is false, do not try and apply OpenArgs as form properties 'If the deveopler wants to ' If blnApplyProperties Then ApplyFrmProperties End If End Sub Public Property Get colOpenArgs() As Collection Set colOpenArgs = mcolOpenArg End Property '*+PRIVATE Class function / sub declaration Private Function cOpenArg(strOpenArg As String) As clsOpenArg On Error GoTo Err_cOpenArg Dim intPosEqual As Integer Dim strArgName As String Dim varArgVal As Variant Dim lclsOpenarg As clsOpenArg intPosEqual = InStr(strOpenArg, "=") If intPosEqual > 0 Then strArgName = Left$(strOpenArg, intPosEqual - 1) varArgVal = Right$(strOpenArg, Len(strOpenArg) - intPosEqual) Set lclsOpenarg = New clsOpenArg lclsOpenarg.mInit strArgName, varArgVal Set cOpenArg = lclsOpenarg End If Exit_cOpenArg: On Error Resume Next Exit Function Err_cOpenArg: MsgBox Err.Description, , "Error in Function clsOpenArgs.cOpenArg" Resume Exit_cOpenArg Resume 0 '.FOR TROUBLESHOOTING End Function Private Sub ParseOpenArgs() On Error GoTo Err_ParseOpenArgs Dim lstrOpenArgs As String Dim strOpenArg As String Dim intPos As Integer Dim lclsOpenarg As clsOpenArg lstrOpenArgs = mstrOpenArgs intPos = InStr(lstrOpenArgs, ";") While intPos > 0 strOpenArg = Left$(lstrOpenArgs, intPos - 1) Set lclsOpenarg = cOpenArg(strOpenArg) mcolOpenArg.Add lclsOpenarg, lclsOpenarg.pName lstrOpenArgs = Right$(lstrOpenArgs, Len(lstrOpenArgs) - intPos) intPos = InStr(lstrOpenArgs, ";") Wend Exit_ParseOpenArgs: On Error Resume Next Exit Sub Err_ParseOpenArgs: MsgBox Err.Description, , "Error in Sub clsOpenArgs.ParseOpenArgs" Resume Exit_ParseOpenArgs Resume 0 '.FOR TROUBLESHOOTING End Sub ' 'This function cycles through all the openargs applying them to form properties 'if an argument is named the same as a form property, and the property is writeable '(doesn't require being in design view to set it) then the application of the value 'to the property will be performed and Err will not be set. For these OpenArgs we 'set the IsPrp to true ' 'All of this provides a way for the developer to ppass in openargs to an opening form 'which are then used to set form properties. It is up to the developer to ensure that 'the property is settable, that the value they pass in is valid (correct data type, 'correct value range etc.) ' 'In the end, the only way to know whether a passed in OpenArg is a property is to try 'it and see. If there is no error then the name is a property name, it is settable in 'form view mode, and the value is acceptable. ' Public Sub ApplyFrmProperties() On Error GoTo Err_ApplyFrmProperties Dim lclsOpenarg As clsOpenArg On Error Resume Next For Each lclsOpenarg In mcolOpenArg mfrm.Properties(lclsOpenarg.pName) = lclsOpenarg.pVal lclsOpenarg.pIsPrp = (Err.Number = 0) Err.Clear Next lclsOpenarg Exit_ApplyFrmProperties: Exit Sub Err_ApplyFrmProperties: MsgBox Err.Description, , "Error in Sub clsOpenArgs.ApplyFrmProperties" Resume Exit_ApplyFrmProperties Resume 0 '.FOR TROUBLESHOOTING End Sub '*-PRIVATE Class function / sub declaration '*+PUBLIC Class function / sub declaration Public Function mOpenArg(strArgName As String) As Variant On Error GoTo Err_mOpenArg mOpenArg = mcolOpenArg(strArgName).pVal Exit_mOpenArg: Exit Function Err_mOpenArg: Select Case Err Case 91 MsgBox "mOpenArg " & strArgName & " does not exist" Resume Exit_mOpenArg Case Else MsgBox Err.Description, , "Error in Function clsOpenArgs.mOpenArg" Resume Exit_mOpenArg End Select Resume 0 '.FOR TROUBLESHOOTING End Function '*-PUBLIC Class function / sub declaration The following is the code to use clsOpenArgs in a form: Option Compare Database Option Explicit Dim fclsOpenArgsSimple As clsOpenArgsSimple Private Sub Form_Open(Cancel As Integer) Set fclsOpenArgsSimple = New clsOpenArgsSimple fclsOpenArgsSimple.mInit Me, True Me!txtSomeMessage.Value = fclsOpenArgsSimple.mOpenArg("MsgVal") End Sub NOTICE that I feed in a reference to Me which is the form itself. Thus clsOpenArgs has a pointer to the form and can: 1) Get the openargs directly from the form. 2) Set form properties if it discovers that Openargs are supposed to be used to set form properties. Notice also that I set txtSomeMessage (a control on the form) with a value passed in to the form in a OpenArg named MsgVal. That is how you would use the class for retrieving OpenArg values passed in. The clsOpenArgs gets the OpenArgs string, parses it, gets it ready to use, any you just ask for values from the class: fclsOpenArgsSimple.mOpenArg("SomeVarName") That is all there is to it. Now you too can have an openarg class to automatically process openargs however you might need. BTW, I pulled the code for this from my framework and stripped out the framework specific code from the clsOpenArgs, calling the result clsOpenArgsSimple. Enjoy. John W. Colby Colby Consulting www.ColbyConsulting.com From martyconnelly at shaw.ca Thu May 17 13:58:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 17 May 2007 11:58:28 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JI6005KD1YTCO30@l-daemon> References: <0JI6005KD1YTCO30@l-daemon> Message-ID: <464CA5D4.20708@shaw.ca> Just remember for international web apps charset=iso-8859-1 will only work for the Americas and Western Europe, someone from Russia whose Windows codepage is iso-8859-5 will get funny looking characters due to wrong transliteration of characters. So you might want to keep UTF-8 even though 3 bytes are sent for every character representation. I noticed that even Google Desktop Search Engine hadn't taken this into consideration with their returned XML. Jim Lawrence wrote: >Hi Marty and anyone else interested: > >The solution to the AJAX invalidly encoded return data has been solved. It >appears that any data returned from a source must have a header supplied. >The caller reads this first and sets the configuration appropriately. > >But that the first returning data (first line) must set the encoding. In the >event of an ASP server page the first line might be something like: > >Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" > >...or PHP like: >header("Content-type: text/html; charset=iso-8859-1"); > >...or when any type of transaction takes place between a server and client >an appropriate header must be supplied. When an ASP.Net server script is >serving a PDF file: > >Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") > >..or initiate data Report: > >response.addheader("Content-Disposition", inline; filename=Report"); > >... or set up for receiving XML data: > > > >It all seems very obvious now. Hope this helps someone who is thinking of >working with AJAX or extensively with Server/Client applications. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Thu May 17 14:44:04 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 17 May 2007 12:44:04 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <464CA5D4.20708@shaw.ca> Message-ID: <0JI700ALPAL26OD0@l-daemon> Hi Marty: Thanks for the tip. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 17, 2007 11:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question Just remember for international web apps charset=iso-8859-1 will only work for the Americas and Western Europe, someone from Russia whose Windows codepage is iso-8859-5 will get funny looking characters due to wrong transliteration of characters. So you might want to keep UTF-8 even though 3 bytes are sent for every character representation. I noticed that even Google Desktop Search Engine hadn't taken this into consideration with their returned XML. Jim Lawrence wrote: >Hi Marty and anyone else interested: > >The solution to the AJAX invalidly encoded return data has been solved. It >appears that any data returned from a source must have a header supplied. >The caller reads this first and sets the configuration appropriately. > >But that the first returning data (first line) must set the encoding. In the >event of an ASP server page the first line might be something like: > >Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" > >...or PHP like: >header("Content-type: text/html; charset=iso-8859-1"); > >...or when any type of transaction takes place between a server and client >an appropriate header must be supplied. When an ASP.Net server script is >serving a PDF file: > >Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") > >..or initiate data Report: > >response.addheader("Content-Disposition", inline; filename=Report"); > >... or set up for receiving XML data: > > > >It all seems very obvious now. Hope this helps someone who is thinking of >working with AJAX or extensively with Server/Client applications. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Thu May 17 16:13:14 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 17 May 2007 14:13:14 -0700 Subject: [AccessD] OT DBA web site update. In-Reply-To: <0JI700ALPAL26OD0@l-daemon> Message-ID: <0JI700GLFEPOUBC0@l-daemon> Hi All: John Colby has provided a full demo, that uses a Class that saves and retrieving variables, sort of like a Desktop cookie file. The link can be accessed from the DBA front page. (http://www.databaseadvisors.com) Jim From jwcolby at colbyconsulting.com Thu May 17 16:30:33 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 17:30:33 -0400 Subject: [AccessD] OT DBA web site update. In-Reply-To: <0JI700GLFEPOUBC0@l-daemon> Message-ID: <20070517213031.30166BF21@smtp-auth.no-ip.com> This is a demo of the form OpenArgs. The demo provides a form which opens another form (displaying state data), passing the state form openargs. The state form uses a class to process the openargs and use them. It uses passed in openargs to set form properties Caption, AllowEdits, AllowAdditions and AllowDeletions, and also uses a passed in argument to set the contents of a label. In the first form you can set controls which are then passed to the state form in an openargs string. You can view the code in the first form to see how I assemble the openargs string, and you can look in the second form to see how the form uses dimensions, initializes and uses clsOpenArgs to process the OpenArgs string. Any questions please feel free to use this forum to discuss. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, May 17, 2007 5:13 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT DBA web site update. Hi All: John Colby has provided a full demo, that uses a Class that saves and retrieving variables, sort of like a Desktop cookie file. The link can be accessed from the DBA front page. (http://www.databaseadvisors.com) Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 17 17:45:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 17 May 2007 15:45:42 -0700 Subject: [AccessD] Revert from Office Ribbon to Classic Menus In-Reply-To: <20070517213031.30166BF21@smtp-auth.no-ip.com> References: <20070517213031.30166BF21@smtp-auth.no-ip.com> Message-ID: <464CDB16.5090004@shaw.ca> For those of you who don't want to switch to Office 2007 Ribbon Menus immediately. Here is a $30 Office Addin that uses old Office 2003 style menus. I haven't tried it, I prefer the keyboard awash in tears http://news.office-watch.com/t/n.aspx?a=502 -- Marty Connelly Victoria, B.C. Canada From Jim.Hale at FleetPride.com Thu May 17 16:38:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Thu, 17 May 2007 16:38:09 -0500 Subject: [AccessD] Exporting From Access to Excel In-Reply-To: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> Message-ID: If you are opening an Excel .xlt template file you do not need to do a file copy. The template will open as "yourfilename1.xls".You only need to save it: appExcel.ActiveWorkbook.SaveAs FileName:=strFileSave appExcel.ActiveWorkbook.Close SaveChanges:=True Where strFilesave is the name you wish to save it under. Are you sure yout template has 3 worksheets? I suspect worksheet(3) doesn't exist in the workbook so you are erroring out. Also, you may still have excel orphan instances from previous runs (check task master) since I don't see appexcel.Quit Set appexcel = Nothing Also, you might try appExcel.Range("C4").CopyFromRecordset rst To do your copying rather than going row by row. HTH Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Thursday, May 17, 2007 10:00 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From john at winhaven.net Thu May 17 22:38:39 2007 From: john at winhaven.net (John Bartow) Date: Thu, 17 May 2007 22:38:39 -0500 Subject: [AccessD] Access app using Outlook contacts Message-ID: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Has anyone used Outlook to hold all of the contact information needed in an access app? If so any pointers would be appreciated. BTW version 2003 From adtp at hotmail.com Fri May 18 00:27:08 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Fri, 18 May 2007 10:57:08 +0530 Subject: [AccessD] Exporting From Access to Excel References: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> Message-ID: Debbie, Two of my sample db's mentioned below, might be of interest to you: (a) ExportAccessToExcelMultiSheets (b) ExportAccessToExcelAsPivotTable Both samples (in Access 2000 file format) are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Sample (b), is not restricted to pivot tables alone and might be found more convenient if you do not wish to install & register a browser control. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Thursday, May 17, 2007 20:30 Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function From andy at minstersystems.co.uk Fri May 18 01:22:38 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Fri, 18 May 2007 07:22:38 +0100 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <00f701c79914$f1c98520$d787d355@minster33c3r25> No John but I've used Access as the primary store for contacts and overnight populated an Outlook address book from Access. I can help you there if you go that way. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow > Sent: 18 May 2007 04:39 > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Access app using Outlook contacts > > > Has anyone used Outlook to hold all of the contact > information needed in an access app? > > If so any pointers would be appreciated. > > BTW version 2003 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From wdhindman at dejpolsystems.com Fri May 18 07:24:39 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 18 May 2007 08:24:39 -0400 Subject: [AccessD] Access app using Outlook contacts References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. William Hindman ----- Original Message ----- From: "John Bartow" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 17, 2007 11:38 PM Subject: [AccessD] Access app using Outlook contacts > Has anyone used Outlook to hold all of the contact information needed in > an > access app? > > If so any pointers would be appreciated. > > BTW version 2003 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From john at winhaven.net Fri May 18 08:26:22 2007 From: john at winhaven.net (John Bartow) Date: Fri, 18 May 2007 08:26:22 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00f701c79914$f1c98520$d787d355@minster33c3r25> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <00f701c79914$f1c98520$d787d355@minster33c3r25> Message-ID: <019201c79950$20e83230$6402a8c0@ScuzzPaq> Andy, Thanks, no Access data at all at this point. Does Outlook maintain a unique ID for each contact that can be used to reference it (as we would do with a PK)? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Friday, May 18, 2007 1:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access app using Outlook contacts No John but I've used Access as the primary store for contacts and overnight populated an Outlook address book from Access. I can help you there if you go that way. From jwcolby at colbyconsulting.com Fri May 18 08:34:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 09:34:04 -0400 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> Message-ID: <20070518133402.81440BBFB@smtp-auth.no-ip.com> William, I think that is unfair. Sometimes our customers flagellate us! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Friday, May 18, 2007 8:25 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. William Hindman From jwcolby at colbyconsulting.com Fri May 18 08:34:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 09:34:15 -0400 Subject: [AccessD] OT: FYI-System Transfer timing Message-ID: <20070518133413.A28F8BF0A@smtp-auth.no-ip.com> I just thought you might be interested in some numbers, transferring a large file from system to system on a network. Two identical computers, 3.8g X2 AMD proc systems, running Windows 2003. Both systems run Comodo personal firewall (software firewall) with specific rules allowing transfers from/to any other computer within my internal network. Both systems use an Areca 1220 dedicated RAID controller, and both systems use Seagate 7200.10 drives in the arrays. The "From" system has a Raid6 Array, the "To" system has a Raid 5 array. There is a gigabit switch between the systems. I am transferring a 120 gbyte SQL Server database file (dbf). When the transfer started it "settled down" after a couple of seconds saying it would take 48 minutes to transfer the file, which indicates about 2.5 gigabytes / minute, 42 mb / second. Testing has shown the read speed to be about 450 mbyte / sec for these arrays, so that is most likely the write speed of the Raid5 destination array. Write speed for these arrays is just slightly worse than the write speed of any single disk. Using task manager to simply view the network usage, the network seems to be using about 40% capacity on average. Again, using task manager, the CPU usage for the two cores shows core one swinging between 0 and 40%with a rough average around 20%. Core two is swinging between 60% and 80%. When the work is steady (and there are places where both cores, but particularly core 2 varies wildly), the "average" is reported as around 40%, as displayed in the CPU Usage. All of this usage being on the transmitting system. The task reporting most usage time is system idle, then explorer. System two (the receiving system) shows almost no Core 1 usage and Core 2 swinging wildly, but again averaging around 40% or so usage, both cores combined, per the CPU Usage display. John W. Colby Colby Consulting www.ColbyConsulting.com From john at winhaven.net Fri May 18 08:36:44 2007 From: john at winhaven.net (John Bartow) Date: Fri, 18 May 2007 08:36:44 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> Message-ID: <019901c79951$93632ee0$6402a8c0@ScuzzPaq> LOL! I never thought I'd go down this road - I may just be having a nightmare... but I'll try anything once; cha-cha-cha! ;o) Thanks WH, I'll check it out Helen's info. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Friday, May 18, 2007 7:25 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ From jwcolby at colbyconsulting.com Fri May 18 09:10:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 10:10:14 -0400 Subject: [AccessD] OTR: Friday Humor Message-ID: <20070518141012.96780BD81@smtp-auth.no-ip.com> NEVER CHOKE IN A RESTAURANT IN THE SOUTH Two hillbillies walk into a Dairy Queen. While having a couple of Blizzards, they talk privately about their moonshine operation. Suddenly, a woman at a nearby table, eating a chicken sandwich, begins to cough. After a while, it becomes apparent that she is in real distress. One of the hillbillies looks at her and says, "Kin ya swallar?" The woman shakes her head no. "kin ya breathe?" The woman begins to turn blue, eyes widen and shakes her head, No. The hillbilly strolls over to the woman, lifts up the back of her dress, yanks down her drawers and quickly gives her right butt cheek a long lick with his tongue. The woman is so shocked that she has a violent spasm and the obstruction flies out of her mouth. She begins to breathe again. The hillbilly ambles smugly back to his table. His buddy says, "Ya know, I'd heerd of that there "Hind Lick Maneuver", But I ain't never seed nobody do it. John W. Colby Colby Consulting www.ColbyConsulting.com From DElam at jenkens.com Fri May 18 09:15:00 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Fri, 18 May 2007 09:15:00 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9DD@jgexch1.jenkens.com> Definitely getting 3 worksheets in the good document, just like I wanted. I will give this a try. Debbie -----Original Message----- From: Hale, Jim [mailto:Jim.Hale at fleetpride.com] Sent: Thursday, May 17, 2007 4:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Exporting From Access to Excel If you are opening an Excel .xlt template file you do not need to do a file copy. The template will open as "yourfilename1.xls".You only need to save it: appExcel.ActiveWorkbook.SaveAs FileName:=strFileSave appExcel.ActiveWorkbook.Close SaveChanges:=True Where strFilesave is the name you wish to save it under. Are you sure yout template has 3 worksheets? I suspect worksheet(3) doesn't exist in the workbook so you are erroring out. Also, you may still have excel orphan instances from previous runs (check task master) since I don't see appexcel.Quit Set appexcel = Nothing Also, you might try appExcel.Range("C4").CopyFromRecordset rst To do your copying rather than going row by row. HTH Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Thursday, May 17, 2007 10:00 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DElam at jenkens.com Fri May 18 09:16:35 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Fri, 18 May 2007 09:16:35 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9DE@jgexch1.jenkens.com> Thank you -----Original Message----- From: A.D.TEJPAL [mailto:adtp at hotmail.com] Sent: Friday, May 18, 2007 12:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Exporting From Access to Excel Debbie, Two of my sample db's mentioned below, might be of interest to you: (a) ExportAccessToExcelMultiSheets (b) ExportAccessToExcelAsPivotTable Both samples (in Access 2000 file format) are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Sample (b), is not restricted to pivot tables alone and might be found more convenient if you do not wish to install & register a browser control. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Thursday, May 17, 2007 20:30 Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 18 10:06:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:06:18 -0400 Subject: [AccessD] Select every nth record Message-ID: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From cfoust at infostatsystems.com Fri May 18 10:26:06 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 18 May 2007 08:26:06 -0700 Subject: [AccessD] Select every nth record In-Reply-To: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: Since order is irrelevant, why not use the TOP 50 %? Are you trying to randomize? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 8:06 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Fri May 18 10:35:47 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 15:35:47 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of 40K >records and I want to split it into two tables, each containing every other >record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From jwcolby at colbyconsulting.com Fri May 18 10:42:32 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:42:32 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518154230.960FCBE0A@smtp-auth.no-ip.com> My client specified "every other record". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 18, 2007 11:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Select every nth record Since order is irrelevant, why not use the TOP 50 %? Are you trying to randomize? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 8:06 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Fri May 18 10:53:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:53:14 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Thanks for the suggestion. I am trying to figure out something generic here. What often happens (not in this case) is my client says "give me a count where...". When the count comes up as 523,417 they will then say, give me every nth record in order to select 200,000 records. I have to track the exact records selected since they may come back later and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. I do not know how to even approach such a problem with SQL alone. The "exactly 200K records" is the killer for me. I think I can use a TOP (200000) ORDER BY NEWID(), but I still have to track the "already used" - probably a simple SELECTED field. In THIS SPECIFIC CASE, the client said "every other record" which has a specific meaning. I am asking him if he really means that or not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 11:36 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open themwith Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_protection_0507 From Gustav at cactus.dk Fri May 18 11:56:48 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 18 May 2007 18:56:48 +0200 Subject: [AccessD] Select every nth record Message-ID: Hi John Extending Mark's idea, add the primary keys of the client's records to a selection table of yours which also has a sequential autonumber and a field for selected. When records are "drawn", update field Selected to True. Now, when new records arrive, append these to your table and then select every second record by joining the client's table with yours where Selected = False and your autonumber Id Mod 2 = 0 and (perhaps) where Id > the largest Id of the last run. /gustav >>> jwcolby at colbyconsulting.com 18-05-2007 17:53 >>> Thanks for the suggestion. I am trying to figure out something generic here. What often happens (not in this case) is my client says "give me a count where...". When the count comes up as 523,417 they will then say, give me every nth record in order to select 200,000 records. I have to track the exact records selected since they may come back later and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. I do not know how to even approach such a problem with SQL alone. The "exactly 200K records" is the killer for me. I think I can use a TOP (200000) ORDER BY NEWID(), but I still have to track the "already used" - probably a simple SELECTED field. In THIS SPECIFIC CASE, the client said "every other record" which has a specific meaning. I am asking him if he really means that or not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 11:36 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com From wdhindman at dejpolsystems.com Fri May 18 12:00:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 18 May 2007 13:00:45 -0400 Subject: [AccessD] Access app using Outlook contacts References: <20070518133402.81440BBFB@smtp-auth.no-ip.com> Message-ID: <002701c7996e$13ee5ff0$7d7d6c4c@jisshowsbs.local> ...yours maybe ...mine get Colbyized the minute they break out the whips ...makes life so much simpler. William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Friday, May 18, 2007 9:34 AM Subject: Re: [AccessD] Access app using Outlook contacts > William, > > I think that is unfair. Sometimes our customers flagellate us! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman > Sent: Friday, May 18, 2007 8:25 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Access app using Outlook contacts > > JB > ...if you insist on unnecessarily flagellating yourself, the best resource > I > know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. > William Hindman > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From markamatte at hotmail.com Fri May 18 12:08:45 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 17:08:45 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Message-ID: John, If I were going to attempt this in SQL Server...I would probably use a cursor in query analyzer...determine if the current record count is divisable by your specified nth number...if so call an SP to write that record. In access I would use the function below to get a sequential record number...and "[record Number] MOD nth" in the query and filter for 0. This would get you every nth record. Example Every 4th record upto 1000 cases ********SQL******* SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); ******************* I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I joined tblText back to tblPurvi...and showed that it in fact chose every 4th record. MyAutoCtr is the only non native function...and if you have a PK that is sequential...you don't even need MyAutoCtr...just the filtered MOD nth. Good luck, Mark A. Matte >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:53:14 -0400 > >Thanks for the suggestion. I am trying to figure out something generic >here. What often happens (not in this case) is my client says "give me a >count where...". When the count comes up as 523,417 they will then say, >give me every nth record in order to select 200,000 records. I have to >track the exact records selected since they may come back later and say, >every Nth record for another 200,000 NOT IN the first 200,000. Etc. > >I do not know how to even approach such a problem with SQL alone. The >"exactly 200K records" is the killer for me. I think I can use a TOP >(200000) ORDER BY NEWID(), but I still have to track the "already used" - >probably a simple SELECTED field. > >In THIS SPECIFIC CASE, the client said "every other record" which has a >specific meaning. I am asking him if he really means that or not. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 11:36 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >I do something similar to get duplex printing of postcards. There is a >sample db on the DBA website under the 2002 conference page. > >Basically I create an autonumber in a query using the function MyAutoCtr() >...(module below)...Then I filter out the even number records using the MOD >function. > >Hope that helps...let me know if you have any questions. > >Thanks, > >Mark A. Matte > > >************Module*************** >Global lngTableCounter As Long > >Function MyAutoCtr(prmAny) >'Trick is to pass a field from the input table(s) so that function called >for each record 'otherwise Access thinks that the function will always >return the same value and 'only calls it once, and every output record gets >the same value MyAutoCtr = lngTableCounter lngTableCounter = >lngTableCounter >+ 1 End Function >************Module*************** > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > >Is there a SQL statement that will do this directly? I have a table of > >40K records and I want to split it into two tables, each containing > >every other record of the 40K record table. > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Catch suspicious messages before you open themwith Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_protection_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From jwcolby at colbyconsulting.com Fri May 18 12:24:05 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 13:24:05 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518172403.CC5FBBDC5@smtp-auth.no-ip.com> That kind of thing works the first time but will it work the second time? You take out the 4th and 8th record leaving 1,2,3,5,6,7,9 Not using a mod on those will not leave no remainder because all the ones evenly divisible by 4 are gone. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 1:09 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, If I were going to attempt this in SQL Server...I would probably use a cursor in query analyzer...determine if the current record count is divisable by your specified nth number...if so call an SP to write that record. In access I would use the function below to get a sequential record number...and "[record Number] MOD nth" in the query and filter for 0. This would get you every nth record. Example Every 4th record upto 1000 cases ********SQL******* SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); ******************* I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I joined tblText back to tblPurvi...and showed that it in fact chose every 4th record. MyAutoCtr is the only non native function...and if you have a PK that is sequential...you don't even need MyAutoCtr...just the filtered MOD nth. Good luck, Mark A. Matte >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:53:14 -0400 > >Thanks for the suggestion. I am trying to figure out something generic >here. What often happens (not in this case) is my client says "give me >a count where...". When the count comes up as 523,417 they will then >say, give me every nth record in order to select 200,000 records. I >have to track the exact records selected since they may come back later >and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. > >I do not know how to even approach such a problem with SQL alone. The >"exactly 200K records" is the killer for me. I think I can use a TOP >(200000) ORDER BY NEWID(), but I still have to track the "already used" >- probably a simple SELECTED field. > >In THIS SPECIFIC CASE, the client said "every other record" which has a >specific meaning. I am asking him if he really means that or not. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 11:36 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >I do something similar to get duplex printing of postcards. There is a >sample db on the DBA website under the 2002 conference page. > >Basically I create an autonumber in a query using the function >MyAutoCtr() ...(module below)...Then I filter out the even number >records using the MOD function. > >Hope that helps...let me know if you have any questions. > >Thanks, > >Mark A. Matte > > >************Module*************** >Global lngTableCounter As Long > >Function MyAutoCtr(prmAny) >'Trick is to pass a field from the input table(s) so that function >called for each record 'otherwise Access thinks that the function will >always return the same value and 'only calls it once, and every output >record gets the same value MyAutoCtr = lngTableCounter lngTableCounter >= lngTableCounter >+ 1 End Function >************Module*************** > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > >Is there a SQL statement that will do this directly? I have a table > >of 40K records and I want to split it into two tables, each > >containing every other record of the 40K record table. > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Catch suspicious messages before you open themwith Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_mig >ratio >n_HM_mini_protection_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storageget 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_2G_0507 From fuller.artful at gmail.com Fri May 18 12:30:42 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 18 May 2007 13:30:42 -0400 Subject: [AccessD] Revert from Office Ribbon to Classic Menus In-Reply-To: <464CDB16.5090004@shaw.ca> References: <20070517213031.30166BF21@smtp-auth.no-ip.com> <464CDB16.5090004@shaw.ca> Message-ID: <29f585dd0705181030p6b44b8c7uec2b7e665632bcf5@mail.gmail.com> It took me about 15 minutes to figure out how to open a file. But it must say something about our age or habits. I hear newbies raving about how cool the ribbons are. On 5/17/07, MartyConnelly wrote: > > For those of you who don't want to switch to Office 2007 Ribbon Menus > immediately. Here is a $30 Office Addin that uses old Office 2003 style > menus. > I haven't tried it, I prefer the keyboard awash in tears > > http://news.office-watch.com/t/n.aspx?a=502 > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Fri May 18 12:37:19 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 18 May 2007 10:37:19 -0700 Subject: [AccessD] OT DBA Library contribution In-Reply-To: Message-ID: <0JI800DO5ZFEFPG0@l-daemon> OT Hi All: A new contribution of a full Windows API library along with samples has been added to the DBA web site Reference List. (http://www.databaseadvisors.com) If anyone would have access to or knowledge where to acquire a full .Net / FrameWork or Mono schema object, method and properties lists or links, please pass the info along. I doubt whether this is at all proprietary but have not had a chance to do further research. Many thanks in advance. Jim From Gustav at cactus.dk Fri May 18 12:43:05 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 18 May 2007 19:43:05 +0200 Subject: [AccessD] Revert from Office Ribbon to Classic Menus Message-ID: Hi Arthur It took me a couple of hours to figure out and realize that most serious or regular tasks now origin from the stupid Office splat, sorry "button". I believe the golden mantra for UI design is never to make the user feel stupid. Well ... /gustav >>> fuller.artful at gmail.com 18-05-2007 19:30 >>> It took me about 15 minutes to figure out how to open a file. But it must say something about our age or habits. I hear newbies raving about how cool the ribbons are. On 5/17/07, MartyConnelly wrote: > > For those of you who don't want to switch to Office 2007 Ribbon Menus > immediately. Here is a $30 Office Addin that uses old Office 2003 style > menus. > I haven't tried it, I prefer the keyboard awash in tears > > http://news.office-watch.com/t/n.aspx?a=502 > > -- > Marty Connelly > Victoria, B.C. > Canada From markamatte at hotmail.com Fri May 18 12:53:00 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 17:53:00 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518172403.CC5FBBDC5@smtp-auth.no-ip.com> Message-ID: Sorry, I forgot to mention that you have to reset MyAutoCtr using lngTableCounter = 1 after each use. The function renumbers everytime...so if you have removed every 4th record...next time you run it, it will number according to whats there...not what the number used to be. Mark >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 13:24:05 -0400 > >That kind of thing works the first time but will it work the second time? > >You take out the 4th and 8th record leaving 1,2,3,5,6,7,9 Not using a mod >on those will not leave no remainder because all the ones evenly divisible >by 4 are gone. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 1:09 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >If I were going to attempt this in SQL Server...I would probably use a >cursor in query analyzer...determine if the current record count is >divisable by your specified nth number...if so call an SP to write that >record. > >In access I would use the function below to get a sequential record >number...and "[record Number] MOD nth" in the query and filter for 0. This >would get you every nth record. > >Example Every 4th record upto 1000 cases >********SQL******* >SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM >tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); >******************* > >I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I >joined tblText back to tblPurvi...and showed that it in fact chose every >4th >record. MyAutoCtr is the only non native function...and if you have a PK >that is sequential...you don't even need MyAutoCtr...just the filtered MOD >nth. > >Good luck, > >Mark A. Matte > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:53:14 -0400 > > > >Thanks for the suggestion. I am trying to figure out something generic > >here. What often happens (not in this case) is my client says "give me > >a count where...". When the count comes up as 523,417 they will then > >say, give me every nth record in order to select 200,000 records. I > >have to track the exact records selected since they may come back later > >and say, every Nth record for another 200,000 NOT IN the first 200,000. >Etc. > > > >I do not know how to even approach such a problem with SQL alone. The > >"exactly 200K records" is the killer for me. I think I can use a TOP > >(200000) ORDER BY NEWID(), but I still have to track the "already used" > >- probably a simple SELECTED field. > > > >In THIS SPECIFIC CASE, the client said "every other record" which has a > >specific meaning. I am asking him if he really means that or not. > > > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Friday, May 18, 2007 11:36 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Select every nth record > > > >John, > > > >I do something similar to get duplex printing of postcards. There is a > >sample db on the DBA website under the 2002 conference page. > > > >Basically I create an autonumber in a query using the function > >MyAutoCtr() ...(module below)...Then I filter out the even number > >records using the MOD function. > > > >Hope that helps...let me know if you have any questions. > > > >Thanks, > > > >Mark A. Matte > > > > > >************Module*************** > >Global lngTableCounter As Long > > > >Function MyAutoCtr(prmAny) > >'Trick is to pass a field from the input table(s) so that function > >called for each record 'otherwise Access thinks that the function will > >always return the same value and 'only calls it once, and every output > >record gets the same value MyAutoCtr = lngTableCounter lngTableCounter > >= lngTableCounter > >+ 1 End Function > >************Module*************** > > > > > > >From: "jwcolby" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "'Access Developers discussion and problem > > >solving'" > > >Subject: [AccessD] Select every nth record > > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > > > >Is there a SQL statement that will do this directly? I have a table > > >of 40K records and I want to split it into two tables, each > > >containing every other record of the 40K record table. > > > > > >John W. Colby > > >Colby Consulting > > >www.ColbyConsulting.com > > > > > >-- > > >AccessD mailing list > > >AccessD at databaseadvisors.com > > >http://databaseadvisors.com/mailman/listinfo/accessd > > >Website: http://www.databaseadvisors.com > > > >_________________________________________________________________ > >Catch suspicious messages before you open themwith Windows Live Hotmail. > >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_mig > >ratio > >n_HM_mini_protection_0507 > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >More photos, more messages, more storageget 2GB with Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_2G_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From fuller.artful at gmail.com Fri May 18 13:03:23 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 18 May 2007 14:03:23 -0400 Subject: [AccessD] Select every nth record In-Reply-To: References: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Message-ID: <29f585dd0705181103i4586125dt511166986eb34223@mail.gmail.com> That will work fine in SQL too, as long as the PKs are sequential. Arthur On 5/18/07, Mark A Matte wrote: > > John, > > If I were going to attempt this in SQL Server...I would probably use a > cursor in query analyzer...determine if the current record count is > divisable by your specified nth number...if so call an SP to write that > record. > > In access I would use the function below to get a sequential record > number...and "[record Number] MOD nth" in the query and filter for > 0. This > would get you every nth record. > > Example Every 4th record upto 1000 cases > ********SQL******* > SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest > FROM tblPurvi > WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); > ******************* > > I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I > joined tblText back to tblPurvi...and showed that it in fact chose every > 4th > record. MyAutoCtr is the only non native function...and if you have a PK > that is sequential...you don't even need MyAutoCtr...just the filtered MOD > nth. > > Good luck, > > Mark A. Matte > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:53:14 -0400 > > > >Thanks for the suggestion. I am trying to figure out something generic > >here. What often happens (not in this case) is my client says "give me a > >count where...". When the count comes up as 523,417 they will then say, > >give me every nth record in order to select 200,000 records. I have to > >track the exact records selected since they may come back later and say, > >every Nth record for another 200,000 NOT IN the first 200,000. Etc. > > > >I do not know how to even approach such a problem with SQL alone. The > >"exactly 200K records" is the killer for me. I think I can use a TOP > >(200000) ORDER BY NEWID(), but I still have to track the "already used" - > >probably a simple SELECTED field. > > > >In THIS SPECIFIC CASE, the client said "every other record" which has a > >specific meaning. I am asking him if he really means that or not. > > > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Friday, May 18, 2007 11:36 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Select every nth record > > > >John, > > > >I do something similar to get duplex printing of postcards. There is a > >sample db on the DBA website under the 2002 conference page. > > > >Basically I create an autonumber in a query using the function > MyAutoCtr() > >...(module below)...Then I filter out the even number records using the > MOD > >function. > > > >Hope that helps...let me know if you have any questions. > > > >Thanks, > > > >Mark A. Matte > > > > > >************Module*************** > >Global lngTableCounter As Long > > > >Function MyAutoCtr(prmAny) > >'Trick is to pass a field from the input table(s) so that function called > >for each record 'otherwise Access thinks that the function will always > >return the same value and 'only calls it once, and every output record > gets > >the same value MyAutoCtr = lngTableCounter lngTableCounter = > >lngTableCounter > >+ 1 End Function > >************Module*************** > > > > > > >From: "jwcolby" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "'Access Developers discussion and problem > > >solving'" > > >Subject: [AccessD] Select every nth record > > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > > > >Is there a SQL statement that will do this directly? I have a table of > > >40K records and I want to split it into two tables, each containing > > >every other record of the 40K record table. > > > > > >John W. Colby > > >Colby Consulting > > >www.ColbyConsulting.com > > > > > >-- > > >AccessD mailing list > > >AccessD at databaseadvisors.com > > >http://databaseadvisors.com/mailman/listinfo/accessd > > >Website: http://www.databaseadvisors.com > > > >_________________________________________________________________ > >Catch suspicious messages before you open them with Windows Live Hotmail. > > > http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio > >n_HM_mini_protection_0507 > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > > _________________________________________________________________ > More photos, more messages, more storage?get 2GB with Windows Live > Hotmail. > > http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From martyconnelly at shaw.ca Fri May 18 13:24:19 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 18 May 2007 11:24:19 -0700 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <464DEF53.6010905@shaw.ca> How to programmatically import Outlook items from Access http://support.microsoft.com/?kbid=290658 How to programmatically export Outlook items to Access http://support.microsoft.com/?kbid=290792 More examples here http://www.outlookcode.com/article.aspx?ID=25 Linking tables directly doesn't allow access to all Outlook fields via Link Table Manager.. John Bartow wrote: >Has anyone used Outlook to hold all of the contact information needed in an >access app? > >If so any pointers would be appreciated. > >BTW version 2003 > > -- Marty Connelly Victoria, B.C. Canada From rl_stewart at highstream.net Fri May 18 14:02:47 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 18 May 2007 14:02:47 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: References: Message-ID: <200705181905.l4IJ5MQj009163@databaseadvisors.com> I have done the opposite. Updated Outlook with all the contact information in Access as the master source. I would not even think of doing it from Outlook to Access. At 10:35 AM 5/18/2007, you wrote: >Date: Thu, 17 May 2007 22:38:39 -0500 >From: "John Bartow" >Subject: [AccessD] Access app using Outlook contacts >To: "'Access Developers discussion and problem solving'" > >Message-ID: <00b001c798fe$067e3cc0$6402a8c0 at ScuzzPaq> >Content-Type: text/plain; charset="us-ascii" > >Has anyone used Outlook to hold all of the contact information needed in an >access app? > >If so any pointers would be appreciated. > >BTW version 2003 From rl_stewart at highstream.net Fri May 18 14:10:52 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 18 May 2007 14:10:52 -0500 Subject: [AccessD] Select every nth record In-Reply-To: References: Message-ID: <200705181915.l4IJFM92011804@databaseadvisors.com> If it is SQL Server 2005, check the RowNumber() function. And combine it with the Access mod function. At 10:35 AM 5/18/2007, you wrote: >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Select every nth record > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com From jwcolby at colbyconsulting.com Fri May 18 14:21:47 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 15:21:47 -0400 Subject: [AccessD] Select every nth record In-Reply-To: <200705181915.l4IJFM92011804@databaseadvisors.com> Message-ID: <20070518192145.E46D5BD28@smtp-auth.no-ip.com> Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 18, 2007 3:11 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record If it is SQL Server 2005, check the RowNumber() function. And combine it with the Access mod function. At 10:35 AM 5/18/2007, you wrote: >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Select every nth record > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Fri May 18 15:30:01 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sat, 19 May 2007 02:00:01 +0530 Subject: [AccessD] Select every nth record References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: Criteria for selecting every nth record could be applied to sequential numbers generated by any of the following alternative methods: (a) Subquery. (b) User defined function. (c) Surrogate autonumber. For large data sets both (a) & (b) are found to be unacceptably slow. The third method using surrogate autonumber happens to be the fastest. Sample subroutine given below, should be able to append every nth record from source table T_A to destination table T_C (same structure as T_A). ID is the name of primary key in tables T_A, T_B & T_C. Table T_B is an interim table. It has two fields named ID (primary key) and RowNum (autonumber type). Care is to be taken that if the primary key (ID) in tables T_A & T_C is autonumber type, it is changed to number type in table T_B. On running the subroutine, existing records if any, in tables T_B & T_C get cleared and required data gets filled in a per the argument NthRecord. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As String) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 18, 2007 20:36 Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From erbachs at gmail.com Fri May 18 16:44:09 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:44:09 -0500 Subject: [AccessD] OpenArgs In-Reply-To: <20070517153834.32F09BCE5@smtp-auth.no-ip.com> References: <000801c79895$84dd6780$4db62ad1@SusanOne> <20070517153834.32F09BCE5@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181444r531d763kfb56560cf20e9f3c@mail.gmail.com> John, As always you are very generous with the examples! Since I work mostly in .NET now I have seen the light of classes. Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > '************ > 'The following is clsOpenArgs (parent to clsOpenArg) > '************ > > Option Compare Database > Option Explicit > > ' BEHAVIORS: > ' > ' > 'When a form opens, it can accept open args, a text string argument. > 'The framework will check for openargs, and if they exist will check > 'inside the Openagrs for arguments named the same thing as form properties. > 'If such arguments are found, the framework will set the form's property > 'equal to the argument value. From erbachs at gmail.com Fri May 18 16:46:15 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:46:15 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070517150452.C8923BE61@smtp-auth.no-ip.com> References: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> <20070517150452.C8923BE61@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181446j5b7a9d9fj97e7fb46330d85f5@mail.gmail.com> John, My "certain age" is 54 and starting to feel it more with all the desk jockeying and slaving over a smoking keyboard... Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > LOL, that was the EXACT visual I had as I was writing that, RIPPING the > stripe(s) off his arm . > > You have to be a certain age to even remember that series. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach > Sent: Thursday, May 17, 2007 10:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Weird Problem...for me anyhow > > John, > > Like Chuck Connors in the old "Branded" TV show! > From erbachs at gmail.com Fri May 18 16:48:19 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:48:19 -0500 Subject: [AccessD] OTR: Friday Humor In-Reply-To: <20070518141012.96780BD81@smtp-auth.no-ip.com> References: <20070518141012.96780BD81@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181448n7a7a477drb09c6cdf05cb75d0@mail.gmail.com> John, That would be Ole and Lena in the restaurant and Ole gives Lena the "Heinie Lick" maneuver. Just for the record... Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/18/07, jwcolby wrote: > NEVER CHOKE IN A RESTAURANT IN THE SOUTH > > Two hillbillies walk into a Dairy Queen. While having a couple of Blizzards, > they talk privately about their moonshine operation. Suddenly, a woman at a > nearby table, eating a chicken sandwich, begins to cough. After a while, it > becomes apparent that she is in real distress. One of the hillbillies looks > at her and says, "Kin ya swallar?" The woman shakes her head no. "kin ya > breathe?" The woman begins to turn blue, eyes widen and shakes her head, No. > The hillbilly strolls over to the woman, lifts up the back of her dress, > yanks down her drawers and quickly gives her right butt cheek a long lick > with his tongue. The woman is so shocked that she has a violent spasm and > the obstruction flies out of her mouth. She begins to breathe again. The > hillbilly ambles smugly back to his table. His buddy says, "Ya know, I'd > heerd of that there "Hind Lick Maneuver", But I ain't never seed nobody do > it. > > John W. Colby From jwcolby at colbyconsulting.com Fri May 18 17:01:09 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 18:01:09 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705181444r531d763kfb56560cf20e9f3c@mail.gmail.com> Message-ID: <20070518220107.73E30BC79@smtp-auth.no-ip.com> >I have seen the light of classes. When you need em, there's just no easy way around em. And in Access at least they are soooooo easy! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Friday, May 18, 2007 5:44 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OpenArgs John, As always you are very generous with the examples! Since I work mostly in .NET now I have seen the light of classes. Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > '************ > 'The following is clsOpenArgs (parent to clsOpenArg) > '************ > > Option Compare Database > Option Explicit > > ' BEHAVIORS: > ' > ' > 'When a form opens, it can accept open args, a text string argument. > 'The framework will check for openargs, and if they exist will check > 'inside the Openagrs for arguments named the same thing as form properties. > 'If such arguments are found, the framework will set the form's > property 'equal to the argument value. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 18 21:50:17 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 22:50:17 -0400 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: <20070519025015.D4092BC99@smtp-auth.no-ip.com> I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.com From adtp at hotmail.com Sat May 19 00:24:16 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sat, 19 May 2007 10:54:16 +0530 Subject: [AccessD] Select every nth record References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: A correction: Data type for the argument in subroutine named P_FillTable(), as given in my previous message, should be Long (instead of String as mentioned earlier). Revised sample subroutine is given below, for ready reference. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As Long) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: A.D.TEJPAL To: Access Developers discussion and problem solving Cc: ADT Sent: Saturday, May 19, 2007 02:00 Subject: Re: [AccessD] Select every nth record Criteria for selecting every nth record could be applied to sequential numbers generated by any of the following alternative methods: (a) Subquery. (b) User defined function. (c) Surrogate autonumber. For large data sets both (a) & (b) are found to be unacceptably slow. The third method using surrogate autonumber happens to be the fastest. Sample subroutine given below, should be able to append every nth record from source table T_A to destination table T_C (same structure as T_A). ID is the name of primary key in tables T_A, T_B & T_C. Table T_B is an interim table. It has two fields named ID (primary key) and RowNum (autonumber type). Care is to be taken that if the primary key (ID) in tables T_A & T_C is autonumber type, it is changed to number type in table T_B. On running the subroutine, existing records if any, in tables T_B & T_C get cleared and required data gets filled in a per the argument NthRecord. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As String) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 18, 2007 20:36 Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Sat May 19 03:55:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 19 May 2007 01:55:53 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070519025015.D4092BC99@smtp-auth.no-ip.com> Message-ID: <0JIA001MK5Y9X3D2@l-daemon> Hi John: Just love those virtual PCs... currently running/have saved versions with Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. Just port them and can test and support a variety of clients. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 7:50 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Virtual PC 2007 I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Sat May 19 05:26:15 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 19 May 2007 14:26:15 +0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <0JIA001MK5Y9X3D2@l-daemon> Message-ID: <001701c79a00$21d170c0$6501a8c0@nant> Hi All, Did anybody try VMWare? After MS went free with Virtual PC VMWare did also release some free products - and what these products allow to do look very powerful and useful: http://www.vmware.com/products/player/ http://www.vmware.com/products/server/ with a lot of preconfigured free systems one can use: http://www.vmware.com/vmtn/appliances/ I didn't try them yet but I plan to... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Saturday, May 19, 2007 12:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT: Virtual PC 2007 Hi John: Just love those virtual PCs... currently running/have saved versions with Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. Just port them and can test and support a variety of clients. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 7:50 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Virtual PC 2007 I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.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 erbachs at gmail.com Sat May 19 06:16:22 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sat, 19 May 2007 06:16:22 -0500 Subject: [AccessD] Access vs. Excel - Oy! Message-ID: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Dear Group, If any additional evidence were needed by any of you Access heads that our favorite PC database is furlongs, miles, leagues, light years, parsecs ahead of Excel as a database tool, I only need relate what happened with the Neenah voter list I bought on Wednesday. The City Clerk had downloaded 4 years worth of election history for my city into four separate Excel worksheets. I had helped her extract data from Wisconsin's voter registration system some time back, but things have changed a bit. The state IT guys have put together a certain format for voter history that sucketh big time. There are two rows for each voter in the history. The second row has the city, state, zip and that's all...in one field, too! Isn't that handy? Why didn't I ever think to put all three in one field before? But much worse: each spreadsheet contains up to four elections: spring primary, spring general, fall primary, and fall general election. It's laid out like a COBOL report: the name of the election appears next to the first voter's name...but after that first record the label does NOT appear next the the names of ANY other voters who voted in that election! All those fields are blank until the block of voters' names for the next election. Similarly, the township name is listed next to the voter's name; but any other voters in the list living in that same township do NOT show the township name next to their names! Not knowing this in advance, I went on Wednesday to the City Clerk's office. She wanted to show me one of the spreadsheets, so she opened the File | Open dialog box. I saw the names of the four spreadsheets there and I asked her how big the largest one was -- meaning size in KB. She thought I meant in number of spreadsheet rows, so she opened the list for 2004. I know that her machine, like so many PCs in offices around the country, is a bit on the under-powered side. But I wasn't prepared to wait for 12 minutes! When the sheet finally opened I saw the layout I described above and I saw that there were 45,000+ rows and 7 columns. No problem, I thought; I'll just have her zip them up and I'll deal with them at home after she emails them to me. I unzipped the file on my home system and I thought I'd see what the largest sheet looked like in Excel. The sheet is 8.5MB or so. I revved up Excel 2003 and opened that sheet...and waited 10 long minutes. During that time I opened Task Manager and saw that Excel was consuming 98% of the CPU cycles, but it had only 160 KB or so of file I/O and was using only 30 MB of RAM. Once it was open I tried something simple like copying the election code from the first row to every other row that had a blank election code. Geez! That took a few minutes just for that! I saved the file with a new name and exited Excel as a bad business. I learned my lesson. I opened Access 2003 and imported the original spreadsheet. Within three seconds I saw the first screen of the Import process where I could tell Access whether the first row of the sheet contains the field names. I went through all the screens of the dialog, allowing Access to assign a key, and in just under 10 seconds all 45,000+ rows were sucked into a new table! Halle-flippin'-lujah! Unbelievable. The clerk had spent a considerable amount of time downloading those four sheets from the state database. Excel is the most convenient of the choices for data export; but the IT dept. in charge of the voter list must not want it to be too easy for people that are purchasing the voter lists to actually USE the data. A few months ago when I ran for re-election here in Neenah, I was able to get a voter history that had a separate group of columns in the spreadsheet for each election I was interested in. So if a voter participated in only two of the six election columns, there would be the date of the election in the appropriate column. Also each voters demographic information was in a single row. It's a good thing that I had curried a bit of favor with the Clerk. I had sat with her in December helping her decipher the options in the on-line voter registration database. This was back when she actually had a choice as to which columns could be selected for her downloads. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. Regards, Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com From carbonnb at gmail.com Sat May 19 08:03:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sat, 19 May 2007 09:03:38 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <001701c79a00$21d170c0$6501a8c0@nant> References: <0JIA001MK5Y9X3D2@l-daemon> <001701c79a00$21d170c0$6501a8c0@nant> Message-ID: On 5/19/07, Shamil Salakhetdinov wrote: > Did anybody try VMWare? After MS went free with Virtual PC VMWare did also > release some free products - and what these products allow to do look very > powerful and useful: Yep. I use VMWare. I started with VMWare Workstation to create a server that is identical to DBAs server so that I could test things out there before working on the real server. Its a wonderful tool. Ever since VMWare player came out, I've been running the VM in player and not the full blown workstation, and it works incredibly well. I have tried MS Virtual PC and don't like it as much. It much more of a resource hog than VMWare, IME. -- 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 ssharkins at setel.com Sat May 19 08:43:10 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 19 May 2007 09:43:10 -0400 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Message-ID: <003101c79a1b$a5375590$2e32fad1@SusanOne> Sounds like a letter to the editor to me... Along with a bid for your services. ;) Susan H. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. From john at winhaven.net Sat May 19 11:45:20 2007 From: john at winhaven.net (John Bartow) Date: Sat, 19 May 2007 11:45:20 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <200705181905.l4IJ5MQj009163@databaseadvisors.com> References: <200705181905.l4IJ5MQj009163@databaseadvisors.com> Message-ID: <033301c79a35$16fa8710$6402a8c0@ScuzzPaq> I would tend to agree with your reservations for not doing this. Sometimes its dangerous to "think out loud" but that is essentially what I'm doing here. I try to be somewhat flexible and investigate the reasons (beyond the obvious) of why I shouldn't do something. My personal opinion is that Outlook is a "mess". But then I'm rooted in RDBMS and Outlook (along with its huge customer base) is obviously not! :o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 18, 2007 2:03 PM To: accessd at databaseadvisors.com Cc: john at winhaven.net Subject: Re: [AccessD] Access app using Outlook contacts I have done the opposite. Updated Outlook with all the contact information in Access as the master source. I would not even think of doing it from Outlook to Access. From john at winhaven.net Sat May 19 11:55:44 2007 From: john at winhaven.net (John Bartow) Date: Sat, 19 May 2007 11:55:44 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <464DEF53.6010905@shaw.ca> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <464DEF53.6010905@shaw.ca> Message-ID: <033401c79a36$8b012cd0$6402a8c0@ScuzzPaq> Thanks I'm investigating these links along with Outlook's Object Model. I haven't done any Outlook contacts integration work before and the only VBA I've done in Outlook was in regards to messaging & emails. I generally hold all contact information in a database (where it should be ;o) My original idea was that Outlook must maintain a unique identifier for each contact that I could use as a primary key - contact ID - in my contacts table. I would then programmatically retrieve the textual contact information for the chosen contact ID from Outlook when needed. This could all be a very dumb idea but my good to bad idea percentages can take the hit ;o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Friday, May 18, 2007 1:24 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts How to programmatically import Outlook items from Access http://support.microsoft.com/?kbid=290658 How to programmatically export Outlook items to Access http://support.microsoft.com/?kbid=290792 More examples here http://www.outlookcode.com/article.aspx?ID=25 Linking tables directly doesn't allow access to all Outlook fields via Link Table Manager.. From jwcolby at colbyconsulting.com Sat May 19 12:13:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 19 May 2007 13:13:56 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: Message-ID: <20070519171354.A465BBBF2@smtp-auth.no-ip.com> Well I just ran into my first gotcha. Both virtual machine managers (VPC and VMX) use virtual video cards, neither of which emulate 3d. My 6 year old son Robbie and I are both huge fans of MorrowWind (yes, he plays by himself) and it requires 3d hardware. And of course it took me awhile to discover the issue as the game gave no meaningful error message when it aborted while opening. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Saturday, May 19, 2007 9:04 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 On 5/19/07, Shamil Salakhetdinov wrote: > Did anybody try VMWare? After MS went free with Virtual PC VMWare did > also release some free products - and what these products allow to do > look very powerful and useful: Yep. I use VMWare. I started with VMWare Workstation to create a server that is identical to DBAs server so that I could test things out there before working on the real server. Its a wonderful tool. Ever since VMWare player came out, I've been running the VM in player and not the full blown workstation, and it works incredibly well. I have tried MS Virtual PC and don't like it as much. It much more of a resource hog than VMWare, IME. -- 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 erbachs at gmail.com Sat May 19 12:46:26 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sat, 19 May 2007 12:46:26 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <003101c79a1b$a5375590$2e32fad1@SusanOne> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <003101c79a1b$a5375590$2e32fad1@SusanOne> Message-ID: <39cb22f30705191046h760ea814jb1d734a1f8fd05d5@mail.gmail.com> Susan, Nah! Just an Access success story along with a gripe about guvmint information workers. Steve Erbach On 5/19/07, Susan Harkins wrote: > Sounds like a letter to the editor to me... Along with a bid for your > services. ;) > > Susan H. > > I said that the lists are purchased. This is all made VERY pertinent since > I only paid $15 for these four spreadsheets. The NEW fees went into effect > on Thursday: $25 for the setup charge + $5 per thousand names. There was a > total of almost 49,000 names. You do the math; I'm too appalled. > From accessd at shaw.ca Sat May 19 13:09:38 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 19 May 2007 11:09:38 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Message-ID: <0JIA00D3JVL5E540@l-daemon> Steve: That is a very interesting story. It sounds like a brew mixed with incompetence, inexperience, laziness driven by a fear of change and losing control all spiced with a bit of larceny. You have the start to great article in the editorial section of the local newspaper. If I had a suspicious nature I would visualize how easy it would be to add, remove or change to such a list as who has the time or ability to cross-reference such a morass of data. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Saturday, May 19, 2007 4:16 AM To: Access Developers discussion and problem solving Subject: [AccessD] Access vs. Excel - Oy! Dear Group, If any additional evidence were needed by any of you Access heads that our favorite PC database is furlongs, miles, leagues, light years, parsecs ahead of Excel as a database tool, I only need relate what happened with the Neenah voter list I bought on Wednesday. The City Clerk had downloaded 4 years worth of election history for my city into four separate Excel worksheets. I had helped her extract data from Wisconsin's voter registration system some time back, but things have changed a bit. The state IT guys have put together a certain format for voter history that sucketh big time. There are two rows for each voter in the history. The second row has the city, state, zip and that's all...in one field, too! Isn't that handy? Why didn't I ever think to put all three in one field before? But much worse: each spreadsheet contains up to four elections: spring primary, spring general, fall primary, and fall general election. It's laid out like a COBOL report: the name of the election appears next to the first voter's name...but after that first record the label does NOT appear next the the names of ANY other voters who voted in that election! All those fields are blank until the block of voters' names for the next election. Similarly, the township name is listed next to the voter's name; but any other voters in the list living in that same township do NOT show the township name next to their names! Not knowing this in advance, I went on Wednesday to the City Clerk's office. She wanted to show me one of the spreadsheets, so she opened the File | Open dialog box. I saw the names of the four spreadsheets there and I asked her how big the largest one was -- meaning size in KB. She thought I meant in number of spreadsheet rows, so she opened the list for 2004. I know that her machine, like so many PCs in offices around the country, is a bit on the under-powered side. But I wasn't prepared to wait for 12 minutes! When the sheet finally opened I saw the layout I described above and I saw that there were 45,000+ rows and 7 columns. No problem, I thought; I'll just have her zip them up and I'll deal with them at home after she emails them to me. I unzipped the file on my home system and I thought I'd see what the largest sheet looked like in Excel. The sheet is 8.5MB or so. I revved up Excel 2003 and opened that sheet...and waited 10 long minutes. During that time I opened Task Manager and saw that Excel was consuming 98% of the CPU cycles, but it had only 160 KB or so of file I/O and was using only 30 MB of RAM. Once it was open I tried something simple like copying the election code from the first row to every other row that had a blank election code. Geez! That took a few minutes just for that! I saved the file with a new name and exited Excel as a bad business. I learned my lesson. I opened Access 2003 and imported the original spreadsheet. Within three seconds I saw the first screen of the Import process where I could tell Access whether the first row of the sheet contains the field names. I went through all the screens of the dialog, allowing Access to assign a key, and in just under 10 seconds all 45,000+ rows were sucked into a new table! Halle-flippin'-lujah! Unbelievable. The clerk had spent a considerable amount of time downloading those four sheets from the state database. Excel is the most convenient of the choices for data export; but the IT dept. in charge of the voter list must not want it to be too easy for people that are purchasing the voter lists to actually USE the data. A few months ago when I ran for re-election here in Neenah, I was able to get a voter history that had a separate group of columns in the spreadsheet for each election I was interested in. So if a voter participated in only two of the six election columns, there would be the date of the election in the appropriate column. Also each voters demographic information was in a single row. It's a good thing that I had curried a bit of favor with the Clerk. I had sat with her in December helping her decipher the options in the on-line voter registration database. This was back when she actually had a choice as to which columns could be selected for her downloads. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. Regards, Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From gustav at cactus.dk Sat May 19 16:29:56 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 19 May 2007 23:29:56 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Shamil - Certainly. We find VMware far superior to Virtual PC. It is not Windows biased as it runs on Linux too and will run close to all OS'es too. Even the free VMware server is clearly a member of a very competent product family - no short cuts. Also, some excellent tools are available like the amazing P2V which migrates a physical machine to a virtual. These virtual machines have changed so much. We now can have a machine with, say, a standard preconfigured Windows 2003 server up an running in minutes. /gustav >>> shamil at users.mns.ru 19-05-07 12:26 >>> Hi All, Did anybody try VMWare? After MS went free with Virtual PC VMWare did also release some free products - and what these products allow to do look very powerful and useful: http://www.vmware.com/products/player/ http://www.vmware.com/products/server/ with a lot of preconfigured free systems one can use: http://www.vmware.com/vmtn/appliances/ I didn't try them yet but I plan to... -- Shamil From erbachs at gmail.com Sun May 20 09:05:45 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sun, 20 May 2007 09:05:45 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <0JIA00D3JVL5E540@l-daemon> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> Message-ID: <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> Jim L., Thanks. Unfortunately it would be a story interesting only to people like us! The idea of a state-wide voter list isn't bad. In the lists I got on Wednesday (since consolidated in Access into one list), there are about 1100 names of people whose address has changed since they voted. These 1100 people have moved out of the city of Neenah. The state list shows their new addresses which is handy, when you think about it. If I had gotten those four years of voter history from a Neenah-only database. Those 1100 peoples' addresses would simply have been wrong and any mailings I did to them would bounce back or get forwarded, maybe. In any event those names would be useless to me if I were trying to get them to vote for me. They CAN'T vote in Neenah elections any longer. At least with the state list I can see that they've moved and I can eliminate them from any mailings. Actually I'm now a bit confused. Back in December when I sat with the City Clerk and looked at the on-line database system, I found that the names and addresses were stored in good form. That is, the addresses were separated into Pre-Street-Direction, House Number, Street name, street type, Post-Street-Direction, unit number, unit type, etc. This is what I'll have to do "manually" (with Access, thank god!) with the names I was given since the addresses are all in one field. During my re-election campaign I made lists of voters by street and by house number so that I could move sequentially along a street and know which homes had voters in them. The number of people who actually vote in a February primary election is minscule. This is good since that was a damned cold month for door-knocking. One wants to target one's door-knocking as much as possible. That December list I extracted saved me a lot of work. Therefore, I have to assume that the City Clerk chose a pre-formatted report for the voter history I asked for...and that pre-formatted report had several export options, one being Excel. Looks like I'll have to do some more digging. That is, find out more from the state elections board or whoever has control over the state-wide lists now. It would be useful to know all the options one has for extracting data. I'm not certain, though, if a regular citizen has access to the data. I'm just happy that I got these lists before the prices went up. I miscounted: there were actually close to 53,000 records. $25 setup + $5 per thousand equals $290 vs. the $15 I paid. I guess I can put up with a bit of table manipulation and normalizing! Steve Erbach http://TheTownCrank.blogspot.com On 5/19/07, Jim Lawrence wrote: > Steve: > > That is a very interesting story. It sounds like a brew mixed with > incompetence, inexperience, laziness driven by a fear of change and losing > control all spiced with a bit of larceny. You have the start to great > article in the editorial section of the local newspaper. > > If I had a suspicious nature I would visualize how easy it would be to add, > remove or change to such a list as who has the time or ability to > cross-reference such a morass of data. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach > Sent: Saturday, May 19, 2007 4:16 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Access vs. Excel - Oy! > > Dear Group, > > If any additional evidence were needed by any of you Access heads that > our favorite PC database is furlongs, miles, leagues, light years, > parsecs ahead of Excel as a database tool, I only need relate what > happened with the Neenah voter list I bought on Wednesday. From martyconnelly at shaw.ca Sun May 20 13:53:32 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Sun, 20 May 2007 11:53:32 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> Message-ID: <4650992C.5010601@shaw.ca> Something to keep in mind when using data and addresses. Just as an aside to this I remember researching the number of people who had moved within a year in a major Canadian city by using GIS and tax roll assessment data. I came up with around 30%. This was disbelieved by local urban planners. I reconfirmed the number by checking the number of Bell residential phone line connects and disconnects. This was 30 years ago before the use of cell phones. This number may vary by town size and country but is still substantial. Steve Erbach wrote: >Thanks. Unfortunately it would be a story interesting only to people like us! > >The idea of a state-wide voter list isn't bad. In the lists I got on >Wednesday (since consolidated in Access into one list), there are >about 1100 names of people whose address has changed since they voted. > These 1100 people have moved out of the city of Neenah. The state >list shows their new addresses which is handy, when you think about >it. If I had gotten those four years of voter history from a >Neenah-only database. Those 1100 peoples' addresses would simply have >been wrong and any mailings I did to them would bounce back or get >forwarded, maybe. In any event those names would be useless to me if >I were trying to get them to vote for me. They CAN'T vote in Neenah >elections any longer. At least with the state list I can see that >they've moved and I can eliminate them from any mailings. > >Actually I'm now a bit confused. Back in December when I sat with the >City Clerk and looked at the on-line database system, I found that the >names and addresses were stored in good form. That is, the addresses >were separated into Pre-Street-Direction, House Number, Street name, >street type, Post-Street-Direction, unit number, unit type, etc. This >is what I'll have to do "manually" (with Access, thank god!) with the >names I was given since the addresses are all in one field. During my >re-election campaign I made lists of voters by street and by house >number so that I could move sequentially along a street and know which >homes had voters in them. The number of people who actually vote in a >February primary election is minscule. This is good since that was a >damned cold month for door-knocking. One wants to target one's >door-knocking as much as possible. That December list I extracted >saved me a lot of work. > >Therefore, I have to assume that the City Clerk chose a pre-formatted >report for the voter history I asked for...and that pre-formatted >report had several export options, one being Excel. > >Looks like I'll have to do some more digging. That is, find out more >from the state elections board or whoever has control over the >state-wide lists now. It would be useful to know all the options one >has for extracting data. I'm not certain, though, if a regular >citizen has access to the data. > >I'm just happy that I got these lists before the prices went up. I >miscounted: there were actually close to 53,000 records. $25 setup + >$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up >with a bit of table manipulation and normalizing! > > >Steve Erbach >http://TheTownCrank.blogspot.com > > -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Sun May 20 15:20:04 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 20 May 2007 13:20:04 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4650992C.5010601@shaw.ca> Message-ID: <0JIC00J88WADXAF0@l-daemon> Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA Jim From carbonnb at gmail.com Sun May 20 16:16:41 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 17:16:41 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> Message-ID: Nothing better to do on a long weekend, except read AccessD. Sigh On 5/20/07, Jim Lawrence wrote: > 1. Double-byte Character Sets; using them with Word documents and Access > databases. Nope > 2. Reading data out Word documents into an Access database. Yep. For the last 8 year or so. Each year I send out a Word form (a true Word Form with Form Fields) to my internal clients to get their training requests for the upcoming year. One form per request. They e-mail it back to me and I import all the data from the Form into an Access DB. This import serves as the basis for my annual training plan. Our National Learning & Development group uses the same form and Access DB for the same purpose. If you read the Article, Using Word as Remote Data Collection for Access, I wrote for M2M, it should give you the basics. -- 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 wdhindman at dejpolsystems.com Sun May 20 16:19:00 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sun, 20 May 2007 17:19:00 -0400 Subject: [AccessD] Word documents and MS Access References: <0JIC00J88WADXAF0@l-daemon> Message-ID: <000901c79b24$7c8976a0$7d7d6c4c@jisshowsbs.local> Jim ...if you're talking importing data from tables in Word to tables in Access, Helen Feddema has a sample mdb on her site. William Hindman ----- Original Message ----- From: "Jim Lawrence" To: "'Access Developers discussion and problem solving'" Sent: Sunday, May 20, 2007 4:20 PM Subject: [AccessD] Word documents and MS Access > Hi All: > > I have two questions. They are both related. A client has approached me > with > a particular project and I am wondering if anyone has experience with the > following: > > 1. Double-byte Character Sets; using them with Word documents and Access > databases. > 2. Reading data out Word documents into an Access database. > > TIA > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From carbonnb at gmail.com Sun May 20 16:17:55 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 17:17:55 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> Message-ID: On 5/20/07, Bryan Carbonnell wrote: > If you read the Article, Using Word as Remote Data Collection for > Access, I wrote for M2M, it should give you the basics. Url might help, eh? http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp -- 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 stuart at lexacorp.com.pg Sun May 20 16:56:12 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 21 May 2007 07:56:12 +1000 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> References: <4650992C.5010601@shaw.ca>, <0JIC00J88WADXAF0@l-daemon> Message-ID: <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> On 20 May 2007 at 13:20, Jim Lawrence wrote: > Hi All: > > I have two questions. They are both related. A client has approached me with > a particular project and I am wondering if anyone has experience with the > following: > > 1. Double-byte Character Sets; using them with Word documents and Access > databases. A real PITA. >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx "Note: New Windows applications should use Unicode to avoid the inconsistencies of varied code pages and for ease of localization. However, some legacy protocols might require the use of DBCS code pages. Each DBCS code page supports different characters, but no page supportsthe full breadth of characters provided by Unicode. Each DBCS code page supports a different subset, differently encoded. Data converted from one DBCS code page to another is subject to corruption because the same data value on different code pages can encode a different character. Data converted from Unicode to DBCS is subject to data loss, because a given code page might not be able to represent every character used in that particular Unicode data."-- Stuart From fuller.artful at gmail.com Sun May 20 17:20:41 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sun, 20 May 2007 18:20:41 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> 100% correct, Stuart. I recently published an article about exactly this at TechRepulic.comm. It doesn't apply specifically to Access; it was written for the SQL Server crowd; but it may be convertible. No promises. I dealt solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but I haven't tested it there. Visit www.techrepublic.com and search for stuff by me; it ought to be the first or second or third reference. A. On 5/20/07, Stuart McLachlan wrote: > > On 20 May 2007 at 13:20, Jim Lawrence wrote: > > > Hi All: > > > > I have two questions. They are both related. A client has approached me > with > > a particular project and I am wondering if anyone has experience with > the > > following: > > > > 1. Double-byte Character Sets; using them with Word documents and Access > > databases. > > A real PITA. > > >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx > > "Note: New Windows applications should use Unicode to avoid the > inconsistencies of varied code pages and for ease of localization. > However, > some legacy protocols might require the use of DBCS code pages. Each DBCS > code page supports different characters, but no page supportsthe full > breadth of characters provided by Unicode. Each DBCS code page supports a > different subset, differently encoded. Data converted from one DBCS code > page to another is subject to corruption because the same data value on > different code pages can encode a different character. Data converted from > Unicode to DBCS is subject to data loss, because a given code page might > not be able to represent every character used in that particular Unicode > data."-- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Sun May 20 19:40:31 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 20 May 2007 17:40:31 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> Message-ID: <0JID0023M8CGUB21@l-daemon> Hi Guys: Nothing like a long weekend in which I planned to work in the garden and then after 2 weeks of sun shine, nature decides it is a good time to water things... real good. That means more time to enjoy the computer. Thank, Bryan, William, Stuart and Arthur. I will do a little more research and maybe ask some more complex questions, if that is all right. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 20, 2007 3:21 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Word documents and MS Access 100% correct, Stuart. I recently published an article about exactly this at TechRepulic.comm. It doesn't apply specifically to Access; it was written for the SQL Server crowd; but it may be convertible. No promises. I dealt solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but I haven't tested it there. Visit www.techrepublic.com and search for stuff by me; it ought to be the first or second or third reference. A. On 5/20/07, Stuart McLachlan wrote: > > On 20 May 2007 at 13:20, Jim Lawrence wrote: > > > Hi All: > > > > I have two questions. They are both related. A client has approached me > with > > a particular project and I am wondering if anyone has experience with > the > > following: > > > > 1. Double-byte Character Sets; using them with Word documents and Access > > databases. > > A real PITA. > > >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx > > "Note: New Windows applications should use Unicode to avoid the > inconsistencies of varied code pages and for ease of localization. > However, > some legacy protocols might require the use of DBCS code pages. Each DBCS > code page supports different characters, but no page supportsthe full > breadth of characters provided by Unicode. Each DBCS code page supports a > different subset, differently encoded. Data converted from one DBCS code > page to another is subject to corruption because the same data value on > different code pages can encode a different character. Data converted from > Unicode to DBCS is subject to data loss, because a given code page might > not be able to represent every character used in that particular Unicode > data."-- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Sun May 20 19:40:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 20:40:38 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JID0023M8CGUB21@l-daemon> References: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> <0JID0023M8CGUB21@l-daemon> Message-ID: On 5/20/07, Jim Lawrence wrote: > Nothing like a long weekend in which I planned to work in the garden and > then after 2 weeks of sun shine, nature decides it is a good time to water > things... real good. Yea, isn't Mother Nature a witch. > Thank, Bryan, William, Stuart and Arthur. I will do a little more research > and maybe ask some more complex questions, if that is all right. No, it's not alright. :) It's not like this list is here for things like that anyway :) Ask away. -- 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 hadyn at dataconcepts.co.nz Mon May 21 03:50:55 2007 From: hadyn at dataconcepts.co.nz (Hadyn Morgan) Date: Mon, 21 May 2007 20:50:55 +1200 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 From jwcolby at colbyconsulting.com Mon May 21 05:43:57 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 06:43:57 -0400 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: <20070521104354.F14B4BC79@smtp-auth.no-ip.com> Although I have never tried, I do not believe this is possible. IIRC Opening a form in another container can only be done one of two ways, using automation to manipulate an instance of that container or by referencing that container and then using code in that container to open the desired form. In either case the form would just open, not be a subform of a form. Since all of the subforms will reside in the main application container, I think you are going to be faced with placing a copy of the main form in the application container. As long as you use classes / code stored in the library to manipulate the main form and its subforms, you will still have control over the code maintenance. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hadyn Morgan Sent: Monday, May 21, 2007 4:51 AM To: Access Developers discussion and problem solving Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From dkalsow at yahoo.com Mon May 21 08:53:13 2007 From: dkalsow at yahoo.com (Dale Kalsow) Date: Mon, 21 May 2007 06:53:13 -0700 (PDT) Subject: [AccessD] Signature in Work In-Reply-To: <20070521104354.F14B4BC79@smtp-auth.no-ip.com> Message-ID: <90853.35224.qm@web50412.mail.re2.yahoo.com> Good Morning Everyone, I know this is a little off of topic but I have an MS word 07 form on a tablet pc that I want to be able to allow the user to sign once the form is complete (thus the table pc). Does any know how to capture that signare in word? Thanks! Dale --------------------------------- Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. From shamil at users.mns.ru Mon May 21 09:27:11 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 18:27:11 +0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> Message-ID: <000701c79bb4$1f0924e0$6401a8c0@nant> Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 21 09:29:04 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 18:29:04 +0400 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: <000801c79bb4$627b8830$6401a8c0@nant> Hello Hadyn, <<< Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? >>> No, it can't -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hadyn Morgan Sent: Monday, May 21, 2007 12:51 PM To: Access Developers discussion and problem solving Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Chester_Kaup at kindermorgan.com Mon May 21 10:08:42 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 10:08:42 -0500 Subject: [AccessD] List Box Selection on a Report Message-ID: I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. From andy at minstersystems.co.uk Mon May 21 10:52:46 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 21 May 2007 16:52:46 +0100 Subject: [AccessD] List Box Selection on a Report Message-ID: <20070521155251.539CE54196@smtp.nildram.co.uk> Chester, unless you just typed it wrong you missed the [ off the front of Forms -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] List Box Selection on a Report Date: 21/05/07 15:26 I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 From Chester_Kaup at kindermorgan.com Mon May 21 10:58:39 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 10:58:39 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: <20070521155251.539CE54196@smtp.nildram.co.uk> References: <20070521155251.539CE54196@smtp.nildram.co.uk> Message-ID: I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Monday, May 21, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report Chester, unless you just typed it wrong you missed the [ off the front of Forms -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] List Box Selection on a Report Date: 21/05/07 15:26 I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From pharold at proftesting.com Mon May 21 11:14:22 2007 From: pharold at proftesting.com (Perry L Harold) Date: Mon, 21 May 2007 12:14:22 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> References: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D131@EXCHANGE.ptiorl.local> For general FYI Going to Dell and configuring for Small Business you can get machines with XP Pro. Same thing with some of the Systemax machines using the configurator. Perry Harold And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. From jwcolby at colbyconsulting.com Mon May 21 11:22:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 12:22:37 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D131@EXCHANGE.ptiorl.local> Message-ID: <20070521162238.74174BED1@smtp-auth.no-ip.com> >Going to Dell and configuring for Small Business you can get machines with XP Pro. Yes indeed. Last week late I ordered myself a new M90 with XP Pro, and my wife a new Inspiron 9400, also with XP Pro. Both have shipped, and mine should arrive tomorrow. Of course the Dells were significantly more money that the HP but they also look like a higher quality machine. What is funny is that looking at the reviews and customer reviews show the laptops I ordered selling for about $1000 more this time last year. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Perry L Harold Sent: Monday, May 21, 2007 12:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox For general FYI Going to Dell and configuring for Small Business you can get machines with XP Pro. Same thing with some of the Systemax machines using the configurator. Perry Harold From reuben at gfconsultants.com Mon May 21 11:26:24 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Mon, 21 May 2007 12:26:24 -0400 Subject: [AccessD] List Box Selection on a Report In-Reply-To: Message-ID: I typically set text boxes like this in the On_Format event of the section where the text box sits. Header On_Format me.TextBox = [Forms]![Form1]![ManifoldList] End Sub Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Kaup, Chester > Sent: Monday, May 21, 2007 11:59 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off the front > of > Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a selection, > an on click event runs that opens a report based on the selection. This > works fine. Now I need to display the list box selection in a text box > on the report. I set the text box control source to > =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be > doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However a large > number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Mon May 21 12:04:00 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 21 May 2007 10:04:00 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <000701c79bb4$1f0924e0$6401a8c0@nant> Message-ID: <0JIE00D8EHVIZM20@l-daemon> Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 Donald.A.McGillivray at sprint.com Mon May 21 12:09:01 2007 From: Donald.A.McGillivray at sprint.com (McGillivray, Don [IT]) Date: Mon, 21 May 2007 12:09:01 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: Chester, The problem is that a list box might have multiple selections made, depending on the multi-select mode that is specified for the control. So you can't just refer to the control, you have to tell it which item(s) in the list on the control you want. One way to do this is to loop thru the ItemsSelected for the list box: Dim varItem as Variant For Each varItem in Me!MyListBox.ItemsSelected '(. . . Your Code Here . . .) 'Use Me!MyListBox.ItemData(varItem) to retrieve the value in the bound column of the list box. 'Use Me!MyListBox.Column(ColumnIndex, varItem) to retrieve values from other columns Next Hope this helps. Don -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Monday, May 21, 2007 8:09 AM To: Access Developers discussion and problem solving Subject: [AccessD] List Box Selection on a Report I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Chester_Kaup at kindermorgan.com Mon May 21 12:50:38 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 12:50:38 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: Tried it that way. Works fine. Thanks. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Reuben Cummings Sent: Monday, May 21, 2007 11:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report I typically set text boxes like this in the On_Format event of the section where the text box sits. Header On_Format me.TextBox = [Forms]![Form1]![ManifoldList] End Sub Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Kaup, Chester > Sent: Monday, May 21, 2007 11:59 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off the front > of > Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a selection, > an on click event runs that opens a report based on the selection. This > works fine. Now I need to display the list box selection in a text box > on the report. I set the text box control source to > =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be > doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However a large > number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Chester_Kaup at kindermorgan.com Mon May 21 12:51:42 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 12:51:42 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: I didn't think that was a problem if multiselect was set to none. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don [IT] Sent: Monday, May 21, 2007 12:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report Chester, The problem is that a list box might have multiple selections made, depending on the multi-select mode that is specified for the control. So you can't just refer to the control, you have to tell it which item(s) in the list on the control you want. One way to do this is to loop thru the ItemsSelected for the list box: Dim varItem as Variant For Each varItem in Me!MyListBox.ItemsSelected '(. . . Your Code Here . . .) 'Use Me!MyListBox.ItemData(varItem) to retrieve the value in the bound column of the list box. 'Use Me!MyListBox.Column(ColumnIndex, varItem) to retrieve values from other columns Next Hope this helps. Don -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Monday, May 21, 2007 8:09 AM To: Access Developers discussion and problem solving Subject: [AccessD] List Box Selection on a Report I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Mon May 21 13:05:45 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 21 May 2007 19:05:45 +0100 Subject: [AccessD] List Box Selection on a Report In-Reply-To: Message-ID: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> Should work perfectly fine then. You're not by any chance closing the form before opening the report are you? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kaup, Chester > Sent: 21 May 2007 16:59 > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off > the front of Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a > selection, an on click event runs that opens a report based > on the selection. This works fine. Now I need to display the > list box selection in a text box on the report. I set the > text box control source to =Forms]![Form1]![ManifoldList]. > This just returns Name? What might I be doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However > a large number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Mon May 21 13:24:47 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 11:24:47 -0700 Subject: [AccessD] Signature in Work In-Reply-To: <90853.35224.qm@web50412.mail.re2.yahoo.com> References: <90853.35224.qm@web50412.mail.re2.yahoo.com> Message-ID: <4651E3EF.9020602@shaw.ca> I have only done with Access, using the Tablet InkEdit control on a standard PC. Follow these steps to enable handwriting capabilities to Access. 1. Download and install the TabletPC SDK. This will register the InkEdit and InkPicture controls. 2. Open Access and go to a form 3. Select the Additonal Controls icon and Select the Microsoft InkEdit or Microsoft InkPicture 4. Drop the control on the form , right click and select all. All the properties and methods will be exposed. or see SDK The InkEdit control is a superset of the RichText control. The InkEdit control is designed to provide an easy way to capture, display, and recognize ink. InkEd.dll If you want a real digital signature you would have to wrap the Word 2007 XML formatted document with something like this. But this requires more software installed and server certificates. XML Digital Signature Structure ) ( ()? )+ ()? (Object ID?)* Dale Kalsow wrote: >Good Morning Everyone, > > I know this is a little off of topic but I have an MS word 07 form on a tablet pc that I want to be able to allow the user to sign once the form is complete (thus the table pc). Does any know how to capture that signare in word? > > Thanks! > > Dale > > >--------------------------------- >Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. > > -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Mon May 21 13:43:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 11:43:28 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> Message-ID: <4651E850.2040105@shaw.ca> You can convert text or XML files encoded like ISO-8859-1 etc through 11 to UTF-8 or UTF-16. You can also specify window code pages like Chinese Big-5 See Charset in the registry This can be done via ADO streams and CharSets Sub ReadAnsiSaveFileInUTF8() ' ReadToFile / SaveToFile snippet ' Used ADO 2.7 Dim stm As ADODB.Stream Dim strPath As String Dim strData As String 'strPath = GetPath(CurrentDb.Name) ' or whatever your path is strPath = "C:\Access files\ADO\" Set stm = New ADODB.Stream stm.Open 'the character set names for the machine are in the registry 'For a list of the character set strings that is known by a system, see 'the subkeys of HKEY_CLASSES_ROOT\MIME\Database\Charset 'in the Windows Registry. stm.Charset = "ascii" 'case specific name depending on code page may have to use iso-8859-1 stm.Position = 0 stm.Type = adTypeText stm.LoadFromFile strPath & "Readme.txt" ' if you just try and dump out stream with Save ' without reading and writing you get double BOM and clobbered file. stm.Position = 0 strData = stm.ReadText() Debug.Print strData stm.Position = 0 'reset to beginning stm.Charset = "UTF-8" stm.WriteText (strData) stm.SaveToFile strPath & "ReadmeUTF8.txt", adSaveCreateOverWrite stm.Close Set stm = Nothing End Sub Arthur Fuller wrote: >100% correct, Stuart. I recently published an article about exactly this at >TechRepulic.comm. It doesn't apply specifically to Access; it was written >for the SQL Server crowd; but it may be convertible. No promises. I dealt >solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but >I haven't tested it there. > >Visit www.techrepublic.com and search for stuff by me; it ought to be the >first or second or third reference. > >A. > > >On 5/20/07, Stuart McLachlan wrote: > > >>On 20 May 2007 at 13:20, Jim Lawrence wrote: >> >> >> >>>Hi All: >>> >>>I have two questions. They are both related. A client has approached me >>> >>> >>with >> >> >>>a particular project and I am wondering if anyone has experience with >>> >>> >>the >> >> >>>following: >>> >>>1. Double-byte Character Sets; using them with Word documents and Access >>>databases. >>> >>> >>A real PITA. >> >>>From http://msdn2.microsoft.com/en-us/library/ms776454.aspx >> >>"Note: New Windows applications should use Unicode to avoid the >>inconsistencies of varied code pages and for ease of localization. >>However, >>some legacy protocols might require the use of DBCS code pages. Each DBCS >>code page supports different characters, but no page supportsthe full >>breadth of characters provided by Unicode. Each DBCS code page supports a >>different subset, differently encoded. Data converted from one DBCS code >>page to another is subject to corruption because the same data value on >>different code pages can encode a different character. Data converted from >>Unicode to DBCS is subject to data loss, because a given code page might >>not be able to represent every character used in that particular Unicode >>data."-- >>Stuart >> >> -- Marty Connelly Victoria, B.C. Canada From Chester_Kaup at kindermorgan.com Mon May 21 13:55:30 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 13:55:30 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> References: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> Message-ID: Unfortunately it does not work. Just returns #ERROR. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Monday, May 21, 2007 1:06 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] List Box Selection on a Report Should work perfectly fine then. You're not by any chance closing the form before opening the report are you? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kaup, Chester > Sent: 21 May 2007 16:59 > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off > the front of Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a > selection, an on click event runs that opens a report based > on the selection. This works fine. Now I need to display the > list box selection in a text box on the report. I set the > text box control source to =Forms]![Form1]![ManifoldList]. > This just returns Name? What might I be doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However > a large number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 fhtapia at gmail.com Mon May 21 13:56:38 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 21 May 2007 11:56:38 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <001701c79a00$21d170c0$6501a8c0@nant> References: <0JIA001MK5Y9X3D2@l-daemon> <001701c79a00$21d170c0$6501a8c0@nant> Message-ID: woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). On 5/19/07, Shamil Salakhetdinov wrote: > > Hi All, > > Did anybody try VMWare? After MS went free with Virtual PC VMWare did also > release some free products - and what these products allow to do look very > powerful and useful: > > http://www.vmware.com/products/player/ > http://www.vmware.com/products/server/ > > with a lot of preconfigured free systems one can use: > > http://www.vmware.com/vmtn/appliances/ > > I didn't try them yet but I plan to... > > -- > Shamil > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Saturday, May 19, 2007 12:56 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT: Virtual PC 2007 > > Hi John: > > Just love those virtual PCs... currently running/have saved versions with > Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. > Just port them and can test and support a variety of clients. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Friday, May 18, 2007 7:50 PM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] OT: Virtual PC 2007 > > I just wanted to report that I have spent most of the day getting virtual > PC > 2007 installed and a virtual PC XP Pro functioning on one of my windows > 2003 > servers. I am installing everything imaginable on the system, and will > then > make copies to actually run on. Got PC XP Pro installed, SP2, all the > updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. > > It is all running very well. It took a little while to figure out, for > example no USB drives at all apparently, but you can drag and drop a > directory from the host to the virtual PC so I just plug the usb drive in > to > the host and then drag n drop what I need off the drive onto the virtual > pc. > > I made the virtual pc a 256 mb machine with a 30gb hard drive. For > ordinary > office / browsing it seems to be sufficient. What I am considering doing > is > dragging a copy off onto my new laptops when they arrive. It is > definitely > cool to be able to set up a machine, then just drag an image over to > another > machine, install Virtual PC 2007 and fire it up and have everything > "instantly installed". Of course 30g doesn't just drag instantly, it will > definitely take 10 minutes or so. > > My wife's laptop died and she has been sharing my PC since. Then my > laptop > died. I think I will make a copy of the new virtual machine on one of the > servers, run it, make her a mcolby user as she had on her old machine, > install her old Outlook PST file and all her My Documents stuff and have > her > up and running in her own virtual machine. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From shamil at users.mns.ru Mon May 21 14:03:57 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 23:03:57 +0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIE00D8EHVIZM20@l-daemon> Message-ID: <000001c79bda$c8b43ea0$6401a8c0@nant> Hello Jim, VB6/VBA uses Unicode for String variables internally. If you will use MS Word Automation then you also use Unicode when getting text from MS Word tables. MS Access (since version 2000) also uses Unicode for text fields. Therefore I think that "2. Reading data out of Word documents into an Access database" doesn't need any specific handling including reading Cyrilic chars, which will be in Unicode. I have just tested this sample I mentioned before - http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm - it works OK with Cyrillic chars getting properly into MS Access 2003 tables. As for "Double-byte Character Sets; using them with Word documents and Access databases." - what do you mean by DBCS - is that a synonym of Unicode or MBCS? Have a look - http://en.wikipedia.org/wiki/DBCS : "Some people use DBCS to mean Unicode, specifically UTF-16, while other people use the term DBCS to mean older (pre-Unicode) code pages that use more than one byte per character. Shift-JIS, GB2312 and Big5 are a few code pages that can contain more than one byte per character, but even using the term DBCS for these code pages is incorrect terminology because these code pages are really MBCS (MultiByte Character Sets). Some IBM mainframes do have true DBCS code pages, which contain only the double byte portion of a multibyte code page." -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 9:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 21 14:16:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 15:16:18 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: Message-ID: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> When you say "as a gaming PC" what do you mean? In MS' VPC, the video is an emulation of a 2D S3 graphics card, which simply will not run modern 3D games (specifically MorrowWind). I understand that VMWare also does a software emulation, and the common consensus is that a software emulation of a 3D processor is too expensive to do (processor cycles). Are you playing modern games? BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 21, 2007 2:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). From jwcolby at colbyconsulting.com Mon May 21 14:23:28 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 15:23:28 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <20070521192328.B9377BD54@smtp-auth.no-ip.com> >BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. I should have specified that I did this with the VMWare stuff. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 21, 2007 3:16 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT: Virtual PC 2007 When you say "as a gaming PC" what do you mean? In MS' VPC, the video is an emulation of a 2D S3 graphics card, which simply will not run modern 3D games (specifically MorrowWind). I understand that VMWare also does a software emulation, and the common consensus is that a software emulation of a 3D processor is too expensive to do (processor cycles). Are you playing modern games? BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 21, 2007 2:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fhtapia at gmail.com Mon May 21 14:57:31 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 21 May 2007 12:57:31 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: Well, I haven't tried an expensive GPU intensive game on it yet, I will load GTA San Andreas to see how it performs. Up until now it's been a gaming machine for my daughter's games, there is a 3D teletubies and 3D Thomas the tank engine which both run Directx7. Vmware 6 supports some though not all of Window Vista's Aero GUI. From what I read is that they will be supporting the full aero gui with an update release. On 5/21/07, jwcolby wrote: > > When you say "as a gaming PC" what do you mean? In MS' VPC, the video is > an > emulation of a 2D S3 graphics card, which simply will not run modern 3D > games (specifically MorrowWind). I understand that VMWare also does a > software emulation, and the common consensus is that a software emulation > of > a 3D processor is too expensive to do (processor cycles). > > Are you playing modern games? > > BTW, early this morning I made a "capture" or whatever they call it of one > of my 2003 servers, but I have not yet mounted and played with it. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Monday, May 21, 2007 2:57 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] OT: Virtual PC 2007 > > woo hoo John, :) > Welcome to the world of virtualization... :). There is > literally > a free-ing experience when you move to virtual machines (in your case > vpc). > I don't remember the cause for USB support in VPC, but in VMware you are > able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They > also give you a "free" VMware Server that you can use on your server apps > to > run other servers or windows xp/linux etc machines. > > VMware doesn't give away the workstation for free, bu they do offer a > VMware > Converter product that allows you convert existing pc's into VM's I've > used > it well with great sucess although for XP you have to go through the whole > re-activation process :S arg. other than that minor hiccup, it works > extreamly well! > > While I also tried VPC from MS, I found that you must absolutly install > the > SPs before it runs halfway decently. Also I found that if you want to run > VServer and want to automate the shutdown process for backups etc, it's > much > more cumbersome than in VMware where it's a single line batch file :). > > btw, it is worth looking into Vmware 6. It's paid off for me already w/ > dual monitor support, usb2 and some 3d support, it works out really well > as > a gaming pc for my daughter (3yrs old) and me. :). > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From Kwilliamson at RTKL.com Mon May 21 15:43:49 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Mon, 21 May 2007 16:43:49 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: Anybody do anything with OLAP Cubes? I was at a conference this past weekend, and saw a demonstration of one. WOW!!! Very fast, and appeared easy to use. I use an Access database to store static month-end financial summaries, and additional information, to enable us to print our month-end reports (linked to our SQL-based application.) If these OLAP cubes are all they appear to be.....it will greatly decrease my processing speed for the financial statements. Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From fuller.artful at gmail.com Mon May 21 15:49:31 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 21 May 2007 16:49:31 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > -------------------------------------------------------------------------------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Kwilliamson at RTKL.com Mon May 21 16:04:12 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Mon, 21 May 2007 17:04:12 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 michael at ddisolutions.com.au Mon May 21 23:26:04 2007 From: michael at ddisolutions.com.au (Michael Maddison) Date: Tue, 22 May 2007 14:26:04 +1000 Subject: [AccessD] OLAP Cubes References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Tue May 22 00:21:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 22:21:42 -0700 Subject: [AccessD] Visual APL Net Express In-Reply-To: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: <46527DE6.20800@shaw.ca> For you Ken Iverson fans out there and have an APL keyboard (It looks like a two year old threw up spaghettios on it) I know the APL language is almost 50 years old but it was the first one that I learned, which accounts for my code. But it is the one language I would use for complex math especially financial economics or engineering structural analysis. For example to find the determinant of a matrix only requires a one character symbol "Rho" However to write the complex math libraries that accompany APL would take months in VBA or Vb.Net but since they may be written in a CLR form, they should be callable from Access. I'll have to test. Anyway a free Express form of APL.Net is available via a sign-up from APLNext http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Tue May 22 04:13:17 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 02:13:17 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4651E850.2040105@shaw.ca> Message-ID: <0JIF00KGRQQWZ3T0@l-daemon> HI Marty: Thanks for the information. I have been some experiments and this will be a great help Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 21, 2007 11:43 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Word documents and MS Access You can convert text or XML files encoded like ISO-8859-1 etc through 11 to UTF-8 or UTF-16. You can also specify window code pages like Chinese Big-5 See Charset in the registry This can be done via ADO streams and CharSets Sub ReadAnsiSaveFileInUTF8() ' ReadToFile / SaveToFile snippet ' Used ADO 2.7 Dim stm As ADODB.Stream Dim strPath As String Dim strData As String 'strPath = GetPath(CurrentDb.Name) ' or whatever your path is strPath = "C:\Access files\ADO\" Set stm = New ADODB.Stream stm.Open 'the character set names for the machine are in the registry 'For a list of the character set strings that is known by a system, see 'the subkeys of HKEY_CLASSES_ROOT\MIME\Database\Charset 'in the Windows Registry. stm.Charset = "ascii" 'case specific name depending on code page may have to use iso-8859-1 stm.Position = 0 stm.Type = adTypeText stm.LoadFromFile strPath & "Readme.txt" ' if you just try and dump out stream with Save ' without reading and writing you get double BOM and clobbered file. stm.Position = 0 strData = stm.ReadText() Debug.Print strData stm.Position = 0 'reset to beginning stm.Charset = "UTF-8" stm.WriteText (strData) stm.SaveToFile strPath & "ReadmeUTF8.txt", adSaveCreateOverWrite stm.Close Set stm = Nothing End Sub Arthur Fuller wrote: >100% correct, Stuart. I recently published an article about exactly this at >TechRepulic.comm. It doesn't apply specifically to Access; it was written >for the SQL Server crowd; but it may be convertible. No promises. I dealt >solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but >I haven't tested it there. > >Visit www.techrepublic.com and search for stuff by me; it ought to be the >first or second or third reference. > >A. > > >On 5/20/07, Stuart McLachlan wrote: > > >>On 20 May 2007 at 13:20, Jim Lawrence wrote: >> >> >> >>>Hi All: >>> >>>I have two questions. They are both related. A client has approached me >>> >>> >>with >> >> >>>a particular project and I am wondering if anyone has experience with >>> >>> >>the >> >> >>>following: >>> >>>1. Double-byte Character Sets; using them with Word documents and Access >>>databases. >>> >>> >>A real PITA. >> >>>From http://msdn2.microsoft.com/en-us/library/ms776454.aspx >> >>"Note: New Windows applications should use Unicode to avoid the >>inconsistencies of varied code pages and for ease of localization. >>However, >>some legacy protocols might require the use of DBCS code pages. Each DBCS >>code page supports different characters, but no page supportsthe full >>breadth of characters provided by Unicode. Each DBCS code page supports a >>different subset, differently encoded. Data converted from one DBCS code >>page to another is subject to corruption because the same data value on >>different code pages can encode a different character. Data converted from >>Unicode to DBCS is subject to data loss, because a given code page might >>not be able to represent every character used in that particular Unicode >>data."-- >>Stuart >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Tue May 22 04:15:33 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 02:15:33 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <000001c79bda$c8b43ea0$6401a8c0@nant> Message-ID: <0JIF003APQUORCH0@l-daemon> Hi Shamil: Thanks to that. Much appreciated. Now I have to get down to it. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 12:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, VB6/VBA uses Unicode for String variables internally. If you will use MS Word Automation then you also use Unicode when getting text from MS Word tables. MS Access (since version 2000) also uses Unicode for text fields. Therefore I think that "2. Reading data out of Word documents into an Access database" doesn't need any specific handling including reading Cyrilic chars, which will be in Unicode. I have just tested this sample I mentioned before - http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm - it works OK with Cyrillic chars getting properly into MS Access 2003 tables. As for "Double-byte Character Sets; using them with Word documents and Access databases." - what do you mean by DBCS - is that a synonym of Unicode or MBCS? Have a look - http://en.wikipedia.org/wiki/DBCS : "Some people use DBCS to mean Unicode, specifically UTF-16, while other people use the term DBCS to mean older (pre-Unicode) code pages that use more than one byte per character. Shift-JIS, GB2312 and Big5 are a few code pages that can contain more than one byte per character, but even using the term DBCS for these code pages is incorrect terminology because these code pages are really MBCS (MultiByte Character Sets). Some IBM mainframes do have true DBCS code pages, which contain only the double byte portion of a multibyte code page." -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 9:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Tue May 22 05:29:35 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 03:29:35 -0700 Subject: [AccessD] Visual APL Net Express In-Reply-To: <46527DE6.20800@shaw.ca> Message-ID: <0JIF00BHUUA1HOK0@l-daemon> Hi Marty: Thanks for the info. I wonder just how many .Net extensions are now available? Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 21, 2007 10:22 PM To: Access Developers discussion and problem solving Subject: [AccessD] Visual APL Net Express For you Ken Iverson fans out there and have an APL keyboard (It looks like a two year old threw up spaghettios on it) I know the APL language is almost 50 years old but it was the first one that I learned, which accounts for my code. But it is the one language I would use for complex math especially financial economics or engineering structural analysis. For example to find the determinant of a matrix only requires a one character symbol "Rho" However to write the complex math libraries that accompany APL would take months in VBA or Vb.Net but since they may be written in a CLR form, they should be callable from Access. I'll have to test. Anyway a free Express form of APL.Net is available via a sign-up from APLNext http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Tue May 22 05:35:50 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 03:35:50 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <46527DE6.20800@shaw.ca> Message-ID: <0JIF00M6HUKGCHR0@l-daemon> Hi All: Would anyone be able to recommend a web hosting company? The site would have to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is a definite plus. TIA Regards Jim From jwcolby at colbyconsulting.com Tue May 22 05:43:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 06:43:58 -0400 Subject: [AccessD] Zip codes within a radius Message-ID: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.com From max.wanadoo at gmail.com Tue May 22 06:23:40 2007 From: max.wanadoo at gmail.com (Gmail) Date: Tue, 22 May 2007 12:23:40 +0100 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <46527DE6.20800@shaw.ca> <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <001201c79c63$a8f14cf0$8119fea9@LTVM> 1&1 Internet Inc. - Web Hosting Services and Domain Name RegistrationProviders of web hosting services, domain names, and email solutions for personal and business websites. Services include Linux and Microsoft hosting, ... www.1and1.com/ - 30k - Cached - Similar pages 1&1 Internet Ltd. Max Never take life seriously. Nobody gets out alive anyway. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 22, 2007 11:36 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Web site Hosting Companies Hi All: Would anyone be able to recommend a web hosting company? The site would have to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is a definite plus. TIA Regards Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Tue May 22 07:32:36 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 22 May 2007 08:32:36 -0400 Subject: [AccessD] Web site Hosting Companies References: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <001501c79c6d$47c83560$7d7d6c4c@jisshowsbs.local> ...I use Parcom.net for all my clients ...look at the customer satisfaction ratings. William Hindman ----- Original Message ----- From: "Jim Lawrence" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 22, 2007 6:35 AM Subject: [AccessD] Web site Hosting Companies > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From mmattys at rochester.rr.com Tue May 22 07:49:32 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Tue, 22 May 2007 08:49:32 -0400 Subject: [AccessD] Zip codes within a radius References: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> Message-ID: <002401c79c6f$a5ebb7a0$0202a8c0@Laptop> Excellent work (as always). Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "jwcolby" To: "AccessD" Sent: Tuesday, May 22, 2007 6:43 AM Subject: [AccessD] Zip codes within a radius >I have posted a fully functioning demo database for finding all of the zip > codes within a radius. > > http://www.databaseadvisors.com/downloads.asp > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From jwcolby at colbyconsulting.com Tue May 22 09:06:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 10:06:13 -0400 Subject: [AccessD] Using an SQL Express BE Message-ID: <20070522140615.DEEC7BE7E@smtp-auth.no-ip.com> I linked my billing database to an SQL Server 2005 Express database file. I stored the dbf file right in the same directory as my billing database FE. This is stored on an encrypted partition on my laptop, which has to be mounted when first used or after rebooting. Whenever the billing fe tried to use the file, it just worked. When my laptop died I moved the encrypted volumes to one of my Windows 2003 server, and attached the billing database file to SQL Server 2005 (the real banana). From there, after a boot SQL Server 2005 (the real banana) would try to mount the database after the reboot but because the encrypted file was not yet mounted, the database would have an icon in SQL Server but not "be there", and any attempt to use it would fail, even after mounting the encrypted volume. I would have to delete the database, then manually attach the file after mounting the encrypted file. It was such a PITA that I finally just pulled the database file out of the encrypted file and into a volume on the server, and mounted it there. I want to put the billing database file back in the encrypted volume, back on my new laptop. Will simply mounting it through the SQL Server express instance on the laptop "fix" the database mounting issue? Why did SQL Server Express correctly handle the dynamic mounting of the file? Is there any way to make the real banana handle this situation? John W. Colby Colby Consulting www.ColbyConsulting.com From adtp at hotmail.com Tue May 22 09:38:39 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 22 May 2007 20:08:39 +0530 Subject: [AccessD] Library Forms References: Message-ID: Hadyn, When a form in external db (featuring library reference), is opened in local db, it gets included in forms collection of local db and its controls can be accessed & acted upon via following sample syntax in local db's code: Forms("ExternalFormName")("LabelName").Caption However, any attempt to assign a local form as the SourceObject for a subform control located in such an external form, meets with failure, attracting a message implying (somewhat misleadingly) that Jet is unable to locate the subform control itself. Conclusion - Mixing up of objects between external and local db's is not permitted. Interestingly, if the local db has a form with exactly the same name as that of external form, it can be opened with direct click, even if external form with this name has already been opened via library reference. This is an unusual situations where the Forms collection of local db shows two forms with identical names. As a work-around for the functionality sought by you, temporary import of external form could be considered. With this, there would be no problem in using a local form as its subform. Ultimately, the imported form can be deleted if desired, before closing the local db. If the external form is a bound one, extra care would be needed so as to ensure that the record source continues to hold good, even though the relevant tables & queries are located in external db. This is done by using the FROM --- IN -- syntax in source SQL. Sample subroutine in click event of command button in local db, as given below, will carry out the following tasks: (a) Import the external form (F_External) under a temporary name. (b) Open the freshly imported form. (c) Assign appropriate caption to the label serving as heading. (d) Assign RecordSource to this form, based upon query named Q_Books belonging to external db. Special syntax using IN argument in FROM clause is used as shown (e) Assign a local form named F_LocalSub as SourceObject for subform control named SF_Sub, located on the imported form. Best wishes, A.D.Tejpal --------------- Sample Subroutine (Usung external form with local subform) =============================== Private Sub Cmd_A_Click() On Error Resume Next Dim Qst As String, FormName As String FormName = "FFF_ZZZ" ' Delete form FormName if existing DoCmd.DeleteObject acForm, FormName ' Import form F_External as FormName DoCmd.TransferDatabase acImport, _ "Microsoft Access", _ "ExternalDbPath", acForm, _ "F_External", FormName DoCmd.OpenForm FormName Forms(FormName)("LbHdg").Caption = _ "Form " & FormName & _ " (Imported From External Db)" ' Assign recordsource to parent form Qst = "SELECT * FROM Q_Books " & _ "IN '" & "ExternalDbPath" & "';" Forms(FormName).RecordSource = Qst ' Assign Subform to parent form Forms(FormName)("SF_Sub").SourceObject = _ "F_LocalSub" On Error GoTo 0 End Sub =============================== ----- Original Message ----- From: Hadyn Morgan To: Access Developers discussion and problem solving Sent: Monday, May 21, 2007 14:20 Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn From lembit.dbamail at t-online.de Tue May 22 10:23:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Tue, 22 May 2007 17:23:50 +0200 Subject: [AccessD] OT: Virtual PC 2007 References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <003101c79c85$33588090$1800a8c0@s1800> thanks, Francisco and John, I have installed VM Player and Converter and converted my main PC and run it. works just fine. Now I have to find a good way where to store and how to acces the data for the various programs, so that I can run the main PC on a different box without fumblilng around with all the data access. I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, which is not a real problem, but if I want to extend this method to all my PCs (i.e., having a VM of each PC located somewhere for safety backup, all the PCs need to use only the NAS for data. Might have to build some hardware solution to turn on the NAS from a remote room.) Alternatively, keep backup of all data on the NAS and relink when I run from the VM. Lembit ----- Original Message ----- From: "Francisco Tapia" To: "Access Developers discussion and problem solving" Sent: Monday, May 21, 2007 9:57 PM Subject: Re: [AccessD] OT: Virtual PC 2007 > Well, I haven't tried an expensive GPU intensive game on it yet, I will > load > GTA San Andreas to see how it performs. Up until now it's been a gaming > machine for my daughter's games, there is a 3D teletubies and 3D Thomas > the > tank engine which both run Directx7. Vmware 6 supports some though not > all > of Window Vista's Aero GUI. From what I read is that they will be > supporting the full aero gui with an update release. > > On 5/21/07, jwcolby wrote: >> >> When you say "as a gaming PC" what do you mean? In MS' VPC, the video is >> an >> emulation of a 2D S3 graphics card, which simply will not run modern 3D >> games (specifically MorrowWind). I understand that VMWare also does a >> software emulation, and the common consensus is that a software emulation >> of >> a 3D processor is too expensive to do (processor cycles). >> >> Are you playing modern games? >> >> BTW, early this morning I made a "capture" or whatever they call it of >> one >> of my 2003 servers, but I have not yet mounted and played with it. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.com >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco >> Tapia >> Sent: Monday, May 21, 2007 2:57 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] OT: Virtual PC 2007 >> >> woo hoo John, :) >> Welcome to the world of virtualization... :). There is >> literally >> a free-ing experience when you move to virtual machines (in your case >> vpc). >> I don't remember the cause for USB support in VPC, but in VMware you are >> able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. >> They >> also give you a "free" VMware Server that you can use on your server apps >> to >> run other servers or windows xp/linux etc machines. >> >> VMware doesn't give away the workstation for free, bu they do offer a >> VMware >> Converter product that allows you convert existing pc's into VM's I've >> used >> it well with great sucess although for XP you have to go through the >> whole >> re-activation process :S arg. other than that minor hiccup, it works >> extreamly well! >> >> While I also tried VPC from MS, I found that you must absolutly install >> the >> SPs before it runs halfway decently. Also I found that if you want to >> run >> VServer and want to automate the shutdown process for backups etc, it's >> much >> more cumbersome than in VMware where it's a single line batch file :). >> >> btw, it is worth looking into Vmware 6. It's paid off for me already w/ >> dual monitor support, usb2 and some 3d support, it works out really well >> as >> a gaming pc for my daughter (3yrs old) and me. :). >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21.05.2007 > 14:01 > > From jedi at charm.net Tue May 22 11:43:34 2007 From: jedi at charm.net (Michael Bahr) Date: Tue, 22 May 2007 12:43:34 -0400 (EDT) Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <46527DE6.20800@shaw.ca> <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <1546.198.118.127.182.1179852214.squirrel@mail.expedient.net> Hi Jim, I used korksoft for a year until they became unresponsive. They would not answer emails, no phone support, no emergency contact info. They did in the beginning but not anymore. I also had a domain registered through them. When I tried to move it took 2 months communicating to the registrar to release my domain name again korksoft would not release the domain. I finally went with www.BlueHost.com. They currently have 300 GB storage, lots of email--however they are Linux based but they do have MySql database and FrontPage extensions. I have been happy for two years already. HTH, Mike... > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Tue May 22 12:37:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 10:37:53 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <1546.198.118.127.182.1179852214.squirrel@mail.expedient.net> Message-ID: <0JIG00FY3E3VHDE0@l-daemon> Thank you all for the info on sites. Please keep the information coming... Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Bahr Sent: Tuesday, May 22, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Web site Hosting Companies Hi Jim, I used korksoft for a year until they became unresponsive. They would not answer emails, no phone support, no emergency contact info. They did in the beginning but not anymore. I also had a domain registered through them. When I tried to move it took 2 months communicating to the registrar to release my domain name again korksoft would not release the domain. I finally went with www.BlueHost.com. They currently have 300 GB storage, lots of email--however they are Linux based but they do have MySql database and FrontPage extensions. I have been happy for two years already. HTH, Mike... > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > 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 Kwilliamson at RTKL.com Tue May 22 12:59:48 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Tue, 22 May 2007 13:59:48 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Message-ID: Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 hadyn at dataconcepts.co.nz Tue May 22 15:12:48 2007 From: hadyn at dataconcepts.co.nz (Hadyn Morgan) Date: Wed, 23 May 2007 08:12:48 +1200 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: Thanks JC, Shamil and A.D. I had tried a number of variations and have decided to just include the main form in an application when needed. I have the calling routine in my library as it does a number of checks before opening the wizard. The temp import would be a great idea but I only provide mde's for client applications. Kind regards Hadyn -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of A.D.TEJPAL Sent: Wednesday, 23 May 2007 02:39 To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] Library Forms Hadyn, When a form in external db (featuring library reference), is opened in local db, it gets included in forms collection of local db and its controls can be accessed & acted upon via following sample syntax in local db's code: Forms("ExternalFormName")("LabelName").Caption However, any attempt to assign a local form as the SourceObject for a subform control located in such an external form, meets with failure, attracting a message implying (somewhat misleadingly) that Jet is unable to locate the subform control itself. Conclusion - Mixing up of objects between external and local db's is not permitted. Interestingly, if the local db has a form with exactly the same name as that of external form, it can be opened with direct click, even if external form with this name has already been opened via library reference. This is an unusual situations where the Forms collection of local db shows two forms with identical names. As a work-around for the functionality sought by you, temporary import of external form could be considered. With this, there would be no problem in using a local form as its subform. Ultimately, the imported form can be deleted if desired, before closing the local db. If the external form is a bound one, extra care would be needed so as to ensure that the record source continues to hold good, even though the relevant tables & queries are located in external db. This is done by using the FROM --- IN -- syntax in source SQL. Sample subroutine in click event of command button in local db, as given below, will carry out the following tasks: (a) Import the external form (F_External) under a temporary name. (b) Open the freshly imported form. (c) Assign appropriate caption to the label serving as heading. (d) Assign RecordSource to this form, based upon query named Q_Books belonging to external db. Special syntax using IN argument in FROM clause is used as shown (e) Assign a local form named F_LocalSub as SourceObject for subform control named SF_Sub, located on the imported form. Best wishes, A.D.Tejpal --------------- Sample Subroutine (Usung external form with local subform) =============================== Private Sub Cmd_A_Click() On Error Resume Next Dim Qst As String, FormName As String FormName = "FFF_ZZZ" ' Delete form FormName if existing DoCmd.DeleteObject acForm, FormName ' Import form F_External as FormName DoCmd.TransferDatabase acImport, _ "Microsoft Access", _ "ExternalDbPath", acForm, _ "F_External", FormName DoCmd.OpenForm FormName Forms(FormName)("LbHdg").Caption = _ "Form " & FormName & _ " (Imported From External Db)" ' Assign recordsource to parent form Qst = "SELECT * FROM Q_Books " & _ "IN '" & "ExternalDbPath" & "';" Forms(FormName).RecordSource = Qst ' Assign Subform to parent form Forms(FormName)("SF_Sub").SourceObject = _ "F_LocalSub" On Error GoTo 0 End Sub =============================== ----- Original Message ----- From: Hadyn Morgan To: Access Developers discussion and problem solving Sent: Monday, May 21, 2007 14:20 Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21/05/2007 14:01 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22/05/2007 15:49 From ssharkins at setel.com Tue May 22 17:41:15 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 22 May 2007 18:41:15 -0400 Subject: [AccessD] Bibliography db Message-ID: <002201c79cc2$4edf8b50$19bc2ad1@SusanOne> Some of you know that I write non-fiction for children. Non-fiction requires a lot of footnotes and although Word keeps up with them Okay, the whole routine is taking more time than I think it should. The reason is that the manuscripts must be clean -- no formatted footnotes, etc. That means, I have to copy them all to another doc and then delete all the numbers in the document and renumber -- then I have to make copies of the source of each note and check before submitting -- and that alone takes about half a day. There has got to be an easier way so it hit me today -- why not my own db? What I'd like to do is relate the fn numbers in the text to a record that contains the actual text and a scanned copy of the resource text. Then, all I have to do is print a report for a quick visual scan. I can save a scanned page as a Word doc, which treats it as a pic file, not true text. I'm just kind of thinking this over in my head. I don't even have any questions, just wondering if any of you have any advise for working with scan docs? Susan H. From newsgrps at dalyn.co.nz Tue May 22 17:47:55 2007 From: newsgrps at dalyn.co.nz (David Emerson) Date: Wed, 23 May 2007 10:47:55 +1200 Subject: [AccessD] Convert Dot Net to C# Message-ID: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Recently someone posted a link to a web site that did conversions between C# and VB.Net. I can't find it in the archives. Can anyone point me in the right direction? Regards David Emerson Dalyn Software Ltd Wellington, New Zealand From davidmcafee at gmail.com Tue May 22 18:41:27 2007 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 22 May 2007 16:41:27 -0700 Subject: [AccessD] Convert Dot Net to C# In-Reply-To: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> References: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <8786a4c00705221641h68f3088akf2ce9c9d64f63b8e@mail.gmail.com> Here you go: http://www.carlosag.net/Tools/CodeTranslator/Default.aspx Its been running a little slow lately. Probably from me giving out the link so much ;) On 5/22/07, David Emerson wrote: > > Recently someone posted a link to a web site that did conversions > between C# and VB.Net. I can't find it in the archives. Can anyone > point me in the right direction? > > 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 accessd at shaw.ca Tue May 22 18:48:37 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 16:48:37 -0700 Subject: [AccessD] Convert Dot Net to C# In-Reply-To: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <0JIG00HV5V82CSF0@l-daemon> Hi David: You can get the link off the DBA site from the main/index 10th or 11th article down. (http://www.databaseadvisors.com) HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Tuesday, May 22, 2007 3:48 PM To: accessd at databaseadvisors.com Subject: [AccessD] Convert Dot Net to C# Recently someone posted a link to a web site that did conversions between C# and VB.Net. I can't find it in the archives. Can anyone point me in the right direction? 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 michael at ddisolutions.com.au Tue May 22 18:50:17 2007 From: michael at ddisolutions.com.au (Michael Maddison) Date: Wed, 23 May 2007 09:50:17 +1000 Subject: [AccessD] OLAP Cubes References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com><59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Message-ID: <59A61174B1F5B54B97FD4ADDE71E7D012897D4@ddi-01.DDI.local> Keith, Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. >>>Not sure what you mean. I could schedule MS Analysis Server (AS) to run nightly but that wont help because the data is updated monthly ;-). Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? >>>Excel is just a FE for the OLAP cubes. You connect to it like any other data source, except it has its own wizard IIRC. The data is then presented using the crosstab interface. There are other FE available or you can query the data directly using MDX. MDX is the MS OLAP query language, warning... its not very similar to SQL. A cube has 3 components. A Fact table, Dimensions and Measures. Your main view will be the Fact table. From the Fact table you will select your Measures and Dimensions. Dimensions are the key data fields you want to use to 'slice' your cube. Examples are Date/Time, geographical area, names, products etc. Measures are the values you want to slice. Revenue, costs etc. It's the dimensions and measures that AS preprocess so that when viewed in FE the results are already stored. It is logical that the more measures and dimensions you have the more work AS has to do. Take care as the growth can be exponential if you screw up a dimension ;-) My tip is to start out small, few rows, couple of dimensions, a couple of measures. You will work out the basics pretty quickly. HTH Michael M Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Tue May 22 18:52:46 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 22 May 2007 19:52:46 -0400 Subject: [AccessD] Visual APL Net Express In-Reply-To: <46527DE6.20800@shaw.ca> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> <46527DE6.20800@shaw.ca> Message-ID: <29f585dd0705221652p7d16c659v1f7f3166af0d38ea@mail.gmail.com> Marty, APL may be 50 years old but I am 60, and I pray that you won't toss me into the dustbin just because of that. APL is WAY powerful. Weird, to be sure. But you can express in about a dozen characters what would require 100 or 1000 lines in many other languages. Matrix multiplication, for example, is trivial in apl. And as you mentioned, complex math (by which I assume you intended complex numbers) are equally trivial to express. About 5 characters says it all. Of course, these characters are not readily available on the standard keyboard, without an overlay, but that's beside the point. APL can do things that make C look positively verbose, and that's no cheap trick. I have not exactly worked with APL but have documented some reasonably complex APL programs, and been totally wowed by the concision of the syntax. Like regex but for math not strings. Awesome language, IMHO. A dotNet version of same is a very intriguing possibility. Not to be investigated by me immediately. At the moment I'm having a lot of fun learning WSH. I thought it was going to be a slow learn, but you'd be amazed how well such languages as VBA prepare you for such a new turf. In fact, it doesn't even feel new. It's everything I already learned, cast in a slightly new shadow. APL is a different kettle of fish. If you're not deep into math, then what it can do will probably sail way over your head. But if you need math, and matrices, etc., APL still stands, lo these many years later, as perhaps the most optimal language. IMHO. I don't profess expertise, to be sure, but I've documented some APL apps, and looked at 6 lines of code, and thought, that would take 1000 lines in some other language I know. I will visit this site immediately and grab their thingie. This excites me! I like math. Not everyone does. That's ok. A. On 5/22/07, MartyConnelly wrote: > > For you Ken Iverson fans out there and have an APL keyboard > (It looks like a two year old threw up spaghettios on it) > I know the APL language is almost 50 years old but it was the first > one that I learned, which accounts for my code. > But it is the one language I would use for complex math especially > financial economics or engineering structural analysis. > For example to find the determinant of a matrix only requires > a one character symbol "Rho" > > However to write the complex math libraries that accompany APL > would take months in VBA or Vb.Net but since they may be written > in a CLR form, they should be callable from Access. I'll have to test. > > Anyway a free Express form of APL.Net is available via a sign-up from > APLNext > > http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From dwaters at usinternet.com Tue May 22 19:48:17 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 22 May 2007 19:48:17 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters From miscellany at mvps.org Tue May 22 20:12:40 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 23 May 2007 13:12:40 +1200 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <46539508.309@mvps.org> Jim, I do a lot of stuff in an account at www.webhost4life.com. I have been very happy with them, and as far as I know, you can't beat their features/dollar offerings. For excellence in support and service, www.orcsweb.com are fantastic, but the price is a lot higher. Regards Steve Jim Lawrence wrote: > Hi All: > > Would anyone be able to recommend a web hosting company? The site would have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is > a definite plus. > From accessd at shaw.ca Tue May 22 21:14:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 19:14:06 -0700 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Message-ID: <0JIH00GL61XIVW90@l-daemon> Hi Dan: Off hand you could use it to stop a function or subroutine from proceeding to end of its code when starting another process like opening a form. It pauses the caller routine. Example: ... gbCalendarFlag = True DoCmd.OpenForm "RECalendar" Do While gbCalendarFlag = True DoEvents Loop ... ' Save the date selected. The above code spawns a calendar form and then waits at that position in the code until the public variable 'gbCalendarFlag' changes from initial setting of TRUE. This is changed within the 'RECalendar' form when clicking the EXIT button. It is very handy and can not be managed any other way except with more code. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 5:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 22 21:21:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 22:21:40 -0400 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Message-ID: <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From keith at williamson5.name Tue May 22 21:23:14 2007 From: keith at williamson5.name (Keith Williamson) Date: Tue, 22 May 2007 22:23:14 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <59A61174B1F5B54B97FD4ADDE71E7D012897D4@ddi-01.DDI.local> Message-ID: <002e01c79ce1$548a6880$7f01a8c0@KeithHome> Michael, Thanks for your help. I'll be working with this soon. Regards, Keith Williamson -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 7:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. >>>Not sure what you mean. I could schedule MS Analysis Server (AS) to run nightly but that wont help because the data is updated monthly ;-). Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? >>>Excel is just a FE for the OLAP cubes. You connect to it like any other data source, except it has its own wizard IIRC. The data is then presented using the crosstab interface. There are other FE available or you can query the data directly using MDX. MDX is the MS OLAP query language, warning... its not very similar to SQL. A cube has 3 components. A Fact table, Dimensions and Measures. Your main view will be the Fact table. From the Fact table you will select your Measures and Dimensions. Dimensions are the key data fields you want to use to 'slice' your cube. Examples are Date/Time, geographical area, names, products etc. Measures are the values you want to slice. Revenue, costs etc. It's the dimensions and measures that AS preprocess so that when viewed in FE the results are already stored. It is logical that the more measures and dimensions you have the more work AS has to do. Take care as the growth can be exponential if you screw up a dimension ;-) My tip is to start out small, few rows, couple of dimensions, a couple of measures. You will work out the basics pretty quickly. HTH Michael M Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 kp at sdsonline.net Tue May 22 22:47:44 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Wed, 23 May 2007 13:47:44 +1000 Subject: [AccessD] Select statement with variable as field name Message-ID: <000801c79ced$2038e410$6401a8c0@office> Can anyone tell me how to do this.... TblSurvey2006 as 50 yes/no fields. On a form, the user selects 1 of 50 possible fields from a combo (cboInterests). When they do that I want to count the no. of records in the table where *that field* has been ticked as true. Here is what I have so far which I know is wrong because of strFieldName - *do* you use a variable as a field name?? I thought using eval might be the answer but no luck with that so far either... Dim intnorecs as integer Dim strFieldName as string strFieldName = me.cbointerests intnorecs = DCount ("[surveypersonid]", "tblSurvey2006", "strFieldName = -1") ______________________________________ Kath Pelletti From stuart at lexacorp.com.pg Tue May 22 22:56:18 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 23 May 2007 13:56:18 +1000 Subject: [AccessD] Select statement with variable as field name In-Reply-To: <000801c79ced$2038e410$6401a8c0@office> References: <000801c79ced$2038e410$6401a8c0@office> Message-ID: <46544802.10111.669B8402@stuart.lexacorp.com.pg> On 23 May 2007 at 13:47, Kath Pelletti wrote: > > On a form, the user selects 1 of 50 possible fields from a combo > (cboInterests). When they do that I want to count the no. of records > in the table where *that field* has been ticked as true. > > Here is what I have so far which I know is wrong because of > strFieldName - *do* you use a variable as a field name?? I thought > using eval might be the answer but no luck with that so far either... > > Dim intnorecs as integer > Dim strFieldName as string > strFieldName = me.cbointerests intnorecs = DCount ("*", "tblSurvey2006", strFieldName & " = -1") From kp at sdsonline.net Tue May 22 23:10:56 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Wed, 23 May 2007 14:10:56 +1000 Subject: [AccessD] Select statement with variable as field name References: <000801c79ced$2038e410$6401a8c0@office> <46544802.10111.669B8402@stuart.lexacorp.com.pg> Message-ID: <001c01c79cf0$5dce8c50$6401a8c0@office> Thanks Stuart - perfect Kath ----- Original Message ----- From: Stuart McLachlan To: Access Developers discussion and problem solving Sent: Wednesday, May 23, 2007 1:56 PM Subject: Re: [AccessD] Select statement with variable as field name On 23 May 2007 at 13:47, Kath Pelletti wrote: > > On a form, the user selects 1 of 50 possible fields from a combo > (cboInterests). When they do that I want to count the no. of records > in the table where *that field* has been ticked as true. > > Here is what I have so far which I know is wrong because of > strFieldName - *do* you use a variable as a field name?? I thought > using eval might be the answer but no luck with that so far either... > > Dim intnorecs as integer > Dim strFieldName as string > strFieldName = me.cbointerests intnorecs = DCount ("*", "tblSurvey2006", strFieldName & " = -1") -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kathryn at bassett.net Wed May 23 00:27:06 2007 From: kathryn at bassett.net (Kathryn Bassett) Date: Tue, 22 May 2007 22:27:06 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <009b01c79cfb$01cbdb50$6501a8c0@Kathryn> http://icdsoft.com - I have been using them for 4 years now, have more than a dozen sites with them, and have NEVER had any down time. Though there is no phone support, I'm very pleased with their SureSupport ticket system. They always get back with me in less than half hour, usually within 10 minutes. The longest solution was a couple hours from start to finish and that's because I asked about something complicated that required research on their part, but I knew it would before I asked about it. If you use them, you can choose either the Hong Kong or US server farm. (Mine are about half and half). Check out the pics at http://www.icdsoft.com/datai.php (links under Production Servers) - the server farm is the largest in the world. -- Kathryn Rhinehart Bassett (Pasadena CA) "Genealogy is my bag" "GH is my soap" kathryn at bassett.net http://bassett.net > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: 22 May 2007 3:36 am > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Web site Hosting Companies > > Hi All: > > Would anyone be able to recommend a web hosting company? The > site would have to support Microsoft products like ASP, > ASP.Net and MS SQL. A good price is a definite plus. > > TIA > > Regards > Jim No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21 May 07 2:01 pm From Gustav at cactus.dk Wed May 23 03:09:52 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 10:09:52 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. From lembit.dbamail at t-online.de Wed May 23 03:45:58 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 23 May 2007 10:45:58 +0200 Subject: [AccessD] OT: Virtual PC 2007 References: Message-ID: <004c01c79d16$c9583130$1800a8c0@s1800> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22.05.2007 15:49 From Gustav at cactus.dk Wed May 23 06:25:47 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 13:25:47 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Lembit Perhaps you could use Windows as the host OS for the NAS and then adjust power savings to spin down the harddrives when not in use? Or, of course, use the new and evolving solid state hard"drives" ... /gustav >>> lembit.dbamail at t-online.de 23-05-2007 10:45 >>> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. From Gustav at cactus.dk Wed May 23 06:47:11 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 13:47:11 +0200 Subject: [AccessD] Bibliography db Message-ID: Hi Susan We've done this (the scan thing, not the non-fiction for children) for a document archive for one of our clients. A third-party ocx was used, csXImage. I wrote about it in 2005: http://databaseadvisors.com/pipermail/accessd/2005-December/040592.html /gustav >>> ssharkins at setel.com 23-05-2007 00:41 >>> Some of you know that I write non-fiction for children. Non-fiction requires a lot of footnotes and although Word keeps up with them Okay, the whole routine is taking more time than I think it should. The reason is that the manuscripts must be clean -- no formatted footnotes, etc. That means, I have to copy them all to another doc and then delete all the numbers in the document and renumber -- then I have to make copies of the source of each note and check before submitting -- and that alone takes about half a day. There has got to be an easier way so it hit me today -- why not my own db? What I'd like to do is relate the fn numbers in the text to a record that contains the actual text and a scanned copy of the resource text. Then, all I have to do is print a report for a quick visual scan. I can save a scanned page as a Word doc, which treats it as a pic file, not true text. I'm just kind of thinking this over in my head. I don't even have any questions, just wondering if any of you have any advise for working with scan docs? Susan H. From lembit.dbamail at t-online.de Wed May 23 06:52:41 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 23 May 2007 13:52:41 +0200 Subject: [AccessD] [dba-Tech] OT: Virtual PC 2007 References: Message-ID: <000801c79d30$deb1be10$1800a8c0@s1800> (moving to dba-Tech) yes, Gustav, that will probably be the best solution. In fact I have started plannig such a box some days ago. It should be able to even wake that box up from any PC with WakeOnLan. I guess multiple wakeups wont hurt. And since I will use only SATA drives, it will be easy to plug them into any other PC in case of HW or SW problems of this box. BTW, this is the reason I dropped the idea of the NASlite box, as the file system is not compatible. Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 1:25 PM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Perhaps you could use Windows as the host OS for the NAS and then adjust power savings to spin down the harddrives when not in use? Or, of course, use the new and evolving solid state hard"drives" ... /gustav >>> lembit.dbamail at t-online.de 23-05-2007 10:45 >>> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22.05.2007 15:49 From hollisvj at pgdp.usec.com Wed May 23 08:12:54 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Wed, 23 May 2007 08:12:54 -0500 Subject: [AccessD] Parse Year Message-ID: <703BDA18A87DFA4CB265A86F42E4178D02491F37@c2k3exchange.pgdp.corp.usec.com> How do I parse out the year in a query for dates in this format? 5/2/2005 10:23:44 AM I need to create a query from Access data for a graph in Excel. The graph needs to show the total number of projects completed each year. The dates are formatted as shown above so I need to get the year to group them by the year. Virginia From Gustav at cactus.dk Wed May 23 08:18:59 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 15:18:59 +0200 Subject: [AccessD] Parse Year Message-ID: Hi Virginia Like this: intYear = Year(DateValue("5/2/2005 10:23:44 AM")) /gustav >>> hollisvj at pgdp.usec.com 23-05-2007 15:12 >>> How do I parse out the year in a query for dates in this format? 5/2/2005 10:23:44 AM I need to create a query from Access data for a graph in Excel. The graph needs to show the total number of projects completed each year. The dates are formatted as shown above so I need to get the year to group them by the year. Virginia From pcs at azizaz.com Wed May 23 08:44:48 2007 From: pcs at azizaz.com (pcs at azizaz.com) Date: Wed, 23 May 2007 23:44:48 +1000 (EST) Subject: [AccessD] OT Vista User Account Control Message-ID: <20070523234448.CUR14391@dommail.onthenet.com.au> Hello, Does any one know how to turn the User Account Control (UAC) thingie off in VISTA??? I am opening an exe file VISTA responds with: "An Unidentified Program wants access to your computer" ..and one option you are given is to: "Allow. I trust this program. I've used it before and I know where it is coming from" Now, how many fricking times do one have to affirm this! What's the procedure to get this file on a whitelist or similar so this nonsense will go away..... I have been reading about the User Account Control on Microsoft's website, but.... is it just me that doesn't get it? Regards borge From dwaters at usinternet.com Wed May 23 08:57:31 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 23 May 2007 08:57:31 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> References: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> Message-ID: <000001c79d42$4ed78ce0$0200a8c0@danwaters> John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 setel.com Wed May 23 08:57:25 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 23 May 2007 09:57:25 -0400 Subject: [AccessD] Bibliography db In-Reply-To: References: Message-ID: <003201c79d42$52bc6830$e0bc2ad1@SusanOne> Thanks Gustav, I'll take a look. Susan H. We've done this (the scan thing, not the non-fiction for children) for a document archive for one of our clients. A third-party ocx was used, csXImage. I wrote about it in 2005: http://databaseadvisors.com/pipermail/accessd/2005-December/040592.html From andy at minstersystems.co.uk Wed May 23 09:22:33 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 23 May 2007 15:22:33 +0100 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 From krosenstiel at comcast.net Wed May 23 09:50:31 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Wed, 23 May 2007 14:50:31 +0000 Subject: [AccessD] OT Vista User Account Control Message-ID: <052320071450.23377.465454B7000364B800005B512215575114040A079B9C020A9C019D05@comcast.net> Here you go (watch the wrap): http://technet2.microsoft.com/WindowsVista/en/library/0d75f774-8514-4c9e-ac08-4c21f5c6c2d91033.mspx?mfr=true I also found this feature annoying at first, but after I studied it, I saw its value and decided to keep it on, especially since it is my laptop and I may be using it in public places. It protects against rootkits and other nasties. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: > > Hello, > > Does any one know how to turn the User Account Control (UAC) > thingie off in VISTA??? > > I am opening an exe file > > VISTA responds with: > "An Unidentified Program wants access to your computer" > > ..and one option you are given is to: > > "Allow. I trust this program. I've used it before and I know > where it is coming from" > > Now, how many fricking times do one have to affirm this! > > What's the procedure to get this file on a whitelist or > similar so this nonsense will go away..... > > I have been reading about the User Account Control on > Microsoft's website, but.... is it just me that doesn't get > it? > > Regards > borge > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From dwaters at usinternet.com Wed May 23 09:50:57 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 23 May 2007 09:50:57 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523142237.E76842BCECF@smtp.nildram.co.uk> References: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Message-ID: <000a01c79d49$c610c630$0200a8c0@danwaters> Slick! Thanks Andy! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Wed May 23 10:23:24 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 10:23:24 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Message-ID: I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From accessd at shaw.ca Wed May 23 11:27:22 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 23 May 2007 09:27:22 -0700 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: Message-ID: <0JII00AWB5HZJA00@l-daemon> Hi Jim: Would it be simple to just: 1. Start the batch file 2. Sit within a do event loop the monitors a file that the batch file creates when the batch process is finished. Batch command like: dir > c:\MyTemp\FlagFile.txt 3. A soon as 'FlagFile.txt' exists the DoEvents process ends and the 'Kill' processes are run. ...Like: varFlagFile = "c:\MyTemp\FlagFile.txt" varAns = Shell(strBatfile) varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 20) Do While not (Dir(varFlagFile) > "") or (varTime < TimeSerial(now()) DoEvents Loop Kill strBatfile Kill strCmdfile Kill varFlagFile You could also add a timeout condition in case the batch file tanks and the 'FlagFile.txt' never gets created. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 23, 2007 8:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DElam at jenkens.com Wed May 23 11:35:38 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Wed, 23 May 2007 11:35:38 -0500 Subject: [AccessD] OnNoData error Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie From Gustav at cactus.dk Wed May 23 11:36:58 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 18:36:58 +0200 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: Hi Jim You could use ShellWait to pause the code until the batch file quits: http://databaseadvisors.com/pipermail/accessd/2004-May/023342.html /gustav >>> Jim.Hale at fleetpride.com 23-05-2007 17:23 >>> I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile From Jim.Hale at FleetPride.com Wed May 23 13:44:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:44:09 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: Message-ID: Thanks Gustav, I tried this back when it was posted and had no luck. I'll give it another go. Thanks Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 23, 2007 11:37 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Hi Jim You could use ShellWait to pause the code until the batch file quits: http://databaseadvisors.com/pipermail/accessd/2004-May/023342.html /gustav >>> Jim.Hale at fleetpride.com 23-05-2007 17:23 >>> I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From Jim.Hale at FleetPride.com Wed May 23 13:45:15 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:45:15 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <0JII00AWB5HZJA00@l-daemon> Message-ID: That sounds interesting. I'll try it, thanks Jim hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 23, 2007 11:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Hi Jim: Would it be simple to just: 1. Start the batch file 2. Sit within a do event loop the monitors a file that the batch file creates when the batch process is finished. Batch command like: dir > c:\MyTemp\FlagFile.txt 3. A soon as 'FlagFile.txt' exists the DoEvents process ends and the 'Kill' processes are run. ...Like: varFlagFile = "c:\MyTemp\FlagFile.txt" varAns = Shell(strBatfile) varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 20) Do While not (Dir(varFlagFile) > "") or (varTime < TimeSerial(now()) DoEvents Loop Kill strBatfile Kill strCmdfile Kill varFlagFile You could also add a timeout condition in case the batch file tanks and the 'FlagFile.txt' never gets created. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 23, 2007 8:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From Jim.Hale at FleetPride.com Wed May 23 13:49:32 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:49:32 -0500 Subject: [AccessD] OnNoData error In-Reply-To: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> Message-ID: I think you need to set cancel=true Private Sub Report_NoData(Cancel As Integer) Dim lngRetval As Long lngRetval = MsgBox( _ "There are no Balances without Assigned Departments", _ vbOKOnly + vbExclamation + vbSystemModal + vbDefaultButton1, _ "Missing Departments") Cancel = True End Sub Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Wednesday, May 23, 2007 11:36 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From adtp at hotmail.com Thu May 24 00:58:46 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 24 May 2007 11:28:46 +0530 Subject: [AccessD] OnNoData error References: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> Message-ID: Debbie, Sample subroutine P_OpenReport(), as given below, called from command button's click event in form's module, can be used universally for opening all your reports. It also takes care of NoData situation, providing a friendly message. It does away with the need for separate code (for message generation) in report's module. Simply put the following statement (nothing else) in report's NoData event: Cancel = True Best wishes, A.D.Tejpal --------------- Sample subroutine for opening reports ====================================== Sub P_OpenReport(ByVal RepName As Variant, _ Optional StrCriteria As Variant) On Error GoTo ErrTrap If Len(RepName) > 0 Then If IsMissing(StrCriteria) Then DoCmd.OpenReport RepName, _ acViewPreview Else If Len(StrCriteria) > 0 Then DoCmd.OpenReport RepName, _ acViewPreview, , StrCriteria Else DoCmd.OpenReport RepName, _ acViewPreview End If End If DoCmd.Maximize ' (A) DoCmd.RunCommand acCmdZoom100 ' (B) End If ExitPoint: On Error GoTo 0 Exit Sub ErrTrap: ' Spl message for NoData (Error 2501) ' Otherwise, normal error message If Err.Number = 2501 Then MsgBox "No Matching Record For " & _ "Report " & RepName, vbOKOnly, _ "No Matching Record" Else MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" End If Resume ExitPoint ' Note - (a) In case of NoData, statements (A) & ' (B) do not get executed. Hence existing ' restored status of the calling form remains ' undisturbed. ' (b) Data type of RepName argument has been ' kept as Variant, to provide for values gathered ' from form controls (text / combo boxes) End Sub ====================================== ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Wednesday, May 23, 2007 22:05 Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie From Gustav at cactus.dk Thu May 24 04:37:46 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 24 May 2007 11:37:46 +0200 Subject: [AccessD] Temporal database Message-ID: Hi all I just noticed that perhaps _the_ prime acteur in this field, Richard T. Snodgrass, offers one of his books free to download: "Developing Time-Oriented Database Applications in SQL" including the cd-rom with code for IBM DB2 Universal Database, Ingres, Informix-Universal Server, Microsoft Access, Microsoft SQL Server, Sybase SQLServer, Oracle8 Server, and UniSQL. http://www.cs.arizona.edu/~rts/publications.html Happy reading! /gustav >>> Gustav at cactus.dk 22-11-2006 16:45 >>> Hi Arthur and Shamil "We need to be able to roll back the database to any given PIT without actually having to do a restore. We just want to specify a date (Jan 1 2004) and without changing a single line of code, run the reports." >>> > You mean "virtual rollback" of course? IOW a "point in time aware" view/SP/UDF? Note that to implement a temporal database in full (I guess we will loose JC here), not two but _four_ time fields must exist: In the literature, two time lines of interest have been mentioned, transaction time and valid time. The valid time line represents when a fact is valid in modelled world (i.e. when it was believed) and the transaction time line represents when a transaction was performed. A bitemporal database is a combination of valid time and transaction time databases where these two time lines are considered to be orthogonal. (Snodgrass & Ahn 1986) Again, accounting can display the beauty of this: Consider writing an invoice; you do this, of course, "today", while the invoice date may be either past, present, or future. Later, selecting on transaction dates will reveal wether this invoice was created or not; selecting on valid date will show wether this invoice was issued or not. You may put it in another perspective: Transaction dates record by themselves an audit trail which allows you to, at any time, to perform a dynamic virtual rollback to any previous time, while the valid date will show you the (approved) state of the data at that time. Specifically, this allows you to correct previous recordings (say, a wrongly typed invoice number of a supplier's invoice), or record a future change of a customer's address and - until he moves - to issue invoices correctly addressed to his present address. /gustav >>> artful at rogers.com 22-11-2006 15:10:35 >>> My personal fave in this category is the Kimball Group. Specifically, for MS SQL, I recommend "The Microsoft Data Warehouse Toolkit" by Joy Mundy and Warren Thornthwaite. There is extensive discussion therein about SCDs (slowly changing dimensions). I will check out your sources, too. A. ----- Original Message ---- From: Gustav Brock To: accessd at databaseadvisors.com Sent: Wednesday, November 22, 2006 8:41:01 AM Subject: [AccessD] Temporal database (was: Stored Procedure not producing results) Hi Arthur I don't recall you have written about PITA here, but what you describe is generally known as a temporal database. This is well-known and has been dealt with by some great capacities in the database world, Michael Boehlen, Christian Jensen, Richard Snodgrass and Andreas Steiner. http://www.cs.arizona.edu/people/rts/timecenter/timecenter.html A brief explanation and introduction can be found here: http://www.timeconsult.com/TemporalData/TemporalData.html Note the link to TimeDB, a Java implementing of "A Bitemporal Relational DBMS" for Oracle 10g Also, look up my previous post(ings) on these: http://databaseadvisors.com/pipermail/accessd/2005-May/034503.html http://databaseadvisors.com/pipermail/accessd/2005-May/034455.html This is a very exciting area. For some applications it won't even require that much more data storage (accounting). A simplified approach is a write-only database (which means write and read but neither delete nor update) which both Cach? and MySQL offers. Now, wouldn't it be nice if only TSQL2 could be implemented in Access: http://www.cs.arizona.edu/people/rts/tsql2.html /gustav From markamatte at hotmail.com Thu May 24 09:14:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 14:14:43 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: Message-ID: Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From Lambert.Heenan at AIG.com Thu May 24 09:32:56 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 24 May 2007 09:32:56 -0500 Subject: [AccessD] DatePart "WW" Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20754CC56@xlivmbx35.aig.com> Well 12/31/2006 *is* day 1 of the 53rd week of the year. It's just that there are no more days for that week: 7 * 52 = 364. datepart("WW",#1/1/2007#) gives 1 for me and datepart("d",#1/1/2007#) also returns 1. What version of Access are you using? (Just curious). Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 24, 2007 10:15 AM To: accessd at databaseadvisors.com Subject: [AccessD] DatePart "WW" Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte _________________________________________________________________ PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_pcmag_0507 From Gustav at cactus.dk Thu May 24 09:44:23 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 24 May 2007 16:44:23 +0200 Subject: [AccessD] DatePart "WW" Message-ID: Hi Mark If you are looking for ISO week numbers, use these constants: bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) However, DatePart has always - since Access 1.0 - been buggy for week number 53. Thus, for serious business use, use a function like this which I have posted many times: Public Function ISO_WeekNumber( _ ByVal datDate As Date) _ As Byte ' Calculates and returns week number for date datDate according to the ISO 8601:1988 standard. ' 1998-2000, Gustav Brock, Cactus Data ApS, CPH. ' May be freely used and distributed. Const cbytFirstWeekOfAnyYear As Byte = 1 Const cbytLastWeekOfLeapYear As Byte = 53 Dim bytWeek As Byte Dim bytISOThursday As Byte Dim datLastDayOfYear As Date bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) If bytWeek = cbytLastWeekOfLeapYear Then bytISOThursday = WeekDay(vbThursday, vbMonday) datLastDayOfYear = DateSerial(Year(datDate), 12, 31) If WeekDay(datLastDayOfYear, vbMonday) >= bytISOThursday Then ' OK, week count of 53 is caused by leap year. Else ' Correct for Access97/2000 bug. bytWeek = cbytFirstWeekOfAnyYear End If End If ISO_WeekNumber = bytWeek End Function /gustav >>> markamatte at hotmail.com 24-05-2007 16:14 >>> Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte From markamatte at hotmail.com Thu May 24 10:12:54 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 15:12:54 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20754CC56@xlivmbx35.aig.com> Message-ID: Thanks Lambert, This one is A97. I did find that "Week: DatePart("ww",[creation_date],1,2)" will give me the numbers I need. I'm just curious how the function Really works...What year does it start with...because the FirstDayOFYear constant I expected to give what I needed. Thanks, Mark A. Matte >From: "Heenan, Lambert" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] DatePart "WW" >Date: Thu, 24 May 2007 09:32:56 -0500 > >Well 12/31/2006 *is* day 1 of the 53rd week of the year. It's just that >there are no more days for that week: 7 * 52 = 364. > >datepart("WW",#1/1/2007#) gives 1 for me and datepart("d",#1/1/2007#) also >returns 1. What version of Access are you using? (Just curious). > >Lambert > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Thursday, May 24, 2007 10:15 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] DatePart "WW" > > >Hello All, > >I'm using datepart to get the week. 12/31/2006 I am having an issue...No >matter what optional constant I use or change...I get Day1 of week 53... >and > >1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_pcmag_0507 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From markamatte at hotmail.com Thu May 24 10:17:25 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 15:17:25 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: Message-ID: Thanks Gustav, I will definetly keep this in mind for larger projects... For this instance...I just needed to group by week for the last 6 months...and a single day was 'biting' me. I almost just changed the date...lol...but my 'data integrity morals' said that it probably wasn't the best thing to do. Thanks, Mark A. Matte >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] DatePart "WW" >Date: Thu, 24 May 2007 16:44:23 +0200 > >Hi Mark > >If you are looking for ISO week numbers, use these constants: > > bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) > >However, DatePart has always - since Access 1.0 - been buggy for week >number 53. >Thus, for serious business use, use a function like this which I have >posted many times: > >Public Function ISO_WeekNumber( _ > ByVal datDate As Date) _ > As Byte > >' Calculates and returns week number for date datDate according to the ISO >8601:1988 standard. >' 1998-2000, Gustav Brock, Cactus Data ApS, CPH. >' May be freely used and distributed. > > Const cbytFirstWeekOfAnyYear As Byte = 1 > Const cbytLastWeekOfLeapYear As Byte = 53 > > Dim bytWeek As Byte > Dim bytISOThursday As Byte > Dim datLastDayOfYear As Date > > bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) > > If bytWeek = cbytLastWeekOfLeapYear Then > bytISOThursday = WeekDay(vbThursday, vbMonday) > datLastDayOfYear = DateSerial(Year(datDate), 12, 31) > If WeekDay(datLastDayOfYear, vbMonday) >= bytISOThursday Then > ' OK, week count of 53 is caused by leap year. > Else > ' Correct for Access97/2000 bug. > bytWeek = cbytFirstWeekOfAnyYear > End If > End If > > ISO_WeekNumber = bytWeek > >End Function > >/gustav > > >>> markamatte at hotmail.com 24-05-2007 16:14 >>> >Hello All, > >I'm using datepart to get the week. 12/31/2006 I am having an issue...No >matter what optional constant I use or change...I get Day1 of week 53... >and >1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? > >Thanks, > >Mark A. Matte > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From erbachs at gmail.com Thu May 24 11:00:12 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 24 May 2007 11:00:12 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <4650992C.5010601@shaw.ca> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> <4650992C.5010601@shaw.ca> Message-ID: <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> Marty, Actually, based on the data I have, I was surprised that there weren't MORE people that had moved out of Neenah. Out of 18,000 or so unique individuals (some with multiple voting history records), only about 1100 had moved out of the city in the 3-4 year span of the data. The rule of thumb I heard ages ago was that about 10% of the populace moved every year. Maybe a bunch of them moved to different addresses within the city, but there's no way to tell that since there's only a single address for each voter...no address "history". Your story is very interesting. Did the local urban planners believe you after you analyzed the Bell data? Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/20/07, MartyConnelly wrote: > Something to keep in mind when using data and addresses. > Just as an aside to this I remember researching the number of people who had > moved within a year in a major Canadian city by using GIS and tax roll > assessment data. > I came up with around 30%. This was disbelieved by local urban planners. > I reconfirmed the number by checking the number of Bell residential > phone line > connects and disconnects. This was 30 years ago before the use of cell > phones. > This number may vary by town size and country but is still substantial. > > Steve Erbach wrote: > > >Thanks. Unfortunately it would be a story interesting only to people like us! > > > >The idea of a state-wide voter list isn't bad. In the lists I got on > >Wednesday (since consolidated in Access into one list), there are > >about 1100 names of people whose address has changed since they voted. > > These 1100 people have moved out of the city of Neenah. The state > >list shows their new addresses which is handy, when you think about > >it. If I had gotten those four years of voter history from a > >Neenah-only database. Those 1100 peoples' addresses would simply have > >been wrong and any mailings I did to them would bounce back or get > >forwarded, maybe. In any event those names would be useless to me if > >I were trying to get them to vote for me. They CAN'T vote in Neenah > >elections any longer. At least with the state list I can see that > >they've moved and I can eliminate them from any mailings. > > > >Actually I'm now a bit confused. Back in December when I sat with the > >City Clerk and looked at the on-line database system, I found that the > >names and addresses were stored in good form. That is, the addresses > >were separated into Pre-Street-Direction, House Number, Street name, > >street type, Post-Street-Direction, unit number, unit type, etc. This > >is what I'll have to do "manually" (with Access, thank god!) with the > >names I was given since the addresses are all in one field. During my > >re-election campaign I made lists of voters by street and by house > >number so that I could move sequentially along a street and know which > >homes had voters in them. The number of people who actually vote in a > >February primary election is minscule. This is good since that was a > >damned cold month for door-knocking. One wants to target one's > >door-knocking as much as possible. That December list I extracted > >saved me a lot of work. > > > >Therefore, I have to assume that the City Clerk chose a pre-formatted > >report for the voter history I asked for...and that pre-formatted > >report had several export options, one being Excel. > > > >Looks like I'll have to do some more digging. That is, find out more > >from the state elections board or whoever has control over the > >state-wide lists now. It would be useful to know all the options one > >has for extracting data. I'm not certain, though, if a regular > >citizen has access to the data. > > > >I'm just happy that I got these lists before the prices went up. I > >miscounted: there were actually close to 53,000 records. $25 setup + > >$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up > >with a bit of table manipulation and normalizing! > > > > > >Steve Erbach > >http://TheTownCrank.blogspot.com > > > > > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Regards, Steve Erbach Scientific Marketing Neenah, WI www.swerbach.com Security Page: www.swerbach.com/security From DElam at jenkens.com Thu May 24 13:49:29 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Thu, 24 May 2007 13:49:29 -0500 Subject: [AccessD] OnNoData error Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013FA01@jgexch1.jenkens.com> Thanks, but that did not short circuit the problem. The problem is with the Cancel=true statement. I cannot handle the error that generates without the sub stopping in it's tracks for some odd reason. I never make it to the error handler and I do not know why. I worked around this by allowing the report to open and change an indicator field on the form opening the report. When this field is 1 the report just opened is closed and the field reset to 0. Not the most elegant, but it does get around the problem. Debbie -----Original Message----- From: A.D.TEJPAL [mailto:adtp at hotmail.com] Sent: Thursday, May 24, 2007 12:59 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] OnNoData error Debbie, Sample subroutine P_OpenReport(), as given below, called from command button's click event in form's module, can be used universally for opening all your reports. It also takes care of NoData situation, providing a friendly message. It does away with the need for separate code (for message generation) in report's module. Simply put the following statement (nothing else) in report's NoData event: Cancel = True Best wishes, A.D.Tejpal --------------- Sample subroutine for opening reports ====================================== Sub P_OpenReport(ByVal RepName As Variant, _ Optional StrCriteria As Variant) On Error GoTo ErrTrap If Len(RepName) > 0 Then If IsMissing(StrCriteria) Then DoCmd.OpenReport RepName, _ acViewPreview Else If Len(StrCriteria) > 0 Then DoCmd.OpenReport RepName, _ acViewPreview, , StrCriteria Else DoCmd.OpenReport RepName, _ acViewPreview End If End If DoCmd.Maximize ' (A) DoCmd.RunCommand acCmdZoom100 ' (B) End If ExitPoint: On Error GoTo 0 Exit Sub ErrTrap: ' Spl message for NoData (Error 2501) ' Otherwise, normal error message If Err.Number = 2501 Then MsgBox "No Matching Record For " & _ "Report " & RepName, vbOKOnly, _ "No Matching Record" Else MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" End If Resume ExitPoint ' Note - (a) In case of NoData, statements (A) & ' (B) do not get executed. Hence existing ' restored status of the calling form remains ' undisturbed. ' (b) Data type of RepName argument has been ' kept as Variant, to provide for values gathered ' from form controls (text / combo boxes) End Sub ====================================== ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Wednesday, May 23, 2007 22:05 Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 24 14:03:45 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 24 May 2007 12:03:45 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> <4650992C.5010601@shaw.ca> <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> Message-ID: <4655E191.5090000@shaw.ca> Yes, after a lot of arguments about people no longer paying for phones, dying off, getting married and changing name by deed poll not to mention multiple people sharing a phone eg. roommates etc. I tracked internal moves but can't remember the exact number, as address matching was in it's infancy I don't trust it and I was one of the infants doing it. Every town has its quirks that can affect these types of statistics, for example in the city of Montreal, all apartment leases end May 1'st. This can skew statistics depending on the time frame, never mind trying to find a moving van around that date. Also people tend to move less often in small towns. Steve Erbach wrote: >Marty, > >Actually, based on the data I have, I was surprised that there weren't >MORE people that had moved out of Neenah. Out of 18,000 or so unique >individuals (some with multiple voting history records), only about >1100 had moved out of the city in the 3-4 year span of the data. The >rule of thumb I heard ages ago was that about 10% of the populace >moved every year. Maybe a bunch of them moved to different addresses >within the city, but there's no way to tell that since there's only a >single address for each voter...no address "history". > >Your story is very interesting. Did the local urban planners believe >you after you analyzed the Bell data? > >Steve Erbach >Neenah, WI >http://TheTownCrank.blogspot.com > > >On 5/20/07, MartyConnelly wrote: > > >>Something to keep in mind when using data and addresses. >>Just as an aside to this I remember researching the number of people who had >>moved within a year in a major Canadian city by using GIS and tax roll >>assessment data. >>I came up with around 30%. This was disbelieved by local urban planners. >>I reconfirmed the number by checking the number of Bell residential >>phone line >>connects and disconnects. This was 30 years ago before the use of cell >>phones. >>This number may vary by town size and country but is still substantial. >> >>Steve Erbach wrote: >> >> >> >>>Thanks. Unfortunately it would be a story interesting only to people like us! >>> >>>The idea of a state-wide voter list isn't bad. In the lists I got on >>>Wednesday (since consolidated in Access into one list), there are >>>about 1100 names of people whose address has changed since they voted. >>>These 1100 people have moved out of the city of Neenah. The state >>>list shows their new addresses which is handy, when you think about >>>it. If I had gotten those four years of voter history from a >>>Neenah-only database. Those 1100 peoples' addresses would simply have >>>been wrong and any mailings I did to them would bounce back or get >>>forwarded, maybe. In any event those names would be useless to me if >>>I were trying to get them to vote for me. They CAN'T vote in Neenah >>>elections any longer. At least with the state list I can see that >>>they've moved and I can eliminate them from any mailings. >>> >>>Actually I'm now a bit confused. Back in December when I sat with the >>>City Clerk and looked at the on-line database system, I found that the >>>names and addresses were stored in good form. That is, the addresses >>>were separated into Pre-Street-Direction, House Number, Street name, >>>street type, Post-Street-Direction, unit number, unit type, etc. This >>>is what I'll have to do "manually" (with Access, thank god!) with the >>>names I was given since the addresses are all in one field. During my >>>re-election campaign I made lists of voters by street and by house >>>number so that I could move sequentially along a street and know which >>>homes had voters in them. The number of people who actually vote in a >>>February primary election is minscule. This is good since that was a >>>damned cold month for door-knocking. One wants to target one's >>>door-knocking as much as possible. That December list I extracted >>>saved me a lot of work. >>> >>>Therefore, I have to assume that the City Clerk chose a pre-formatted >>>report for the voter history I asked for...and that pre-formatted >>>report had several export options, one being Excel. >>> >>>Looks like I'll have to do some more digging. That is, find out more >>> >>> >>>from the state elections board or whoever has control over the >> >> >>>state-wide lists now. It would be useful to know all the options one >>>has for extracting data. I'm not certain, though, if a regular >>>citizen has access to the data. >>> >>>I'm just happy that I got these lists before the prices went up. I >>>miscounted: there were actually close to 53,000 records. $25 setup + >>>$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up >>>with a bit of table manipulation and normalizing! >>> >>> >>>Steve Erbach >>>http://TheTownCrank.blogspot.com >>> >>> -- Marty Connelly Victoria, B.C. Canada From DWUTKA at Marlow.com Thu May 24 15:34:30 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Thu, 24 May 2007 15:34:30 -0500 Subject: [AccessD] OT: Hey William! Message-ID: Haven't seen ya on OT for a while. Just checking to see if you got my last email 'Off list'. Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Thu May 24 19:45:22 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 24 May 2007 20:45:22 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Message-ID: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 24 20:51:47 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 24 May 2007 21:51:47 -0400 Subject: [AccessD] Desktop search Message-ID: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Thu May 24 21:49:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 25 May 2007 02:49:57 +0000 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: of course I'll be there... Mark >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference >Date: Thu, 24 May 2007 20:45:22 -0400 > >I just received a copy of Visual Studio 2005 .net Standard Edition. I will >be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN >AccessD Conference, scheduled for the weekend of June 23rd. Sign up now >and >plan to attend. > >Anyone interested in attending should speak up so that I know how many to >plan for. > > >Anyone who wishes to make a presentation please say so, so that I can make >a >schedule. Individual presentations should be 45 minutes to 1 hour. If you >have a topic that will take longer, no problem, simply break it down into 1 >hour segments. If you have something really cool that will only take a few >minutes, again no problem. The agenda will be sessions from 9am to noon, >1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / >framework material to fill up that time should there be no takers on >presentations, but in the interests of YOUR sanity, consider doing a >session >on your own subject of expertise. If there is enough content, we can spill >over into Sunday, 1/2 day or a full day, your choice. If there is HUGE >attendance and resulting HUGE content then we can spill over to either >weekday on either side of the weekend. > >As for the most important issue... I have a largish propane BBQ and will >provide a BBQ dinner on Saturday the 23rd. Donations accepted but never >required. The menu will be Boneless, Skinless chicken breasts a la Sam's >club, a rack of ribs (more if a large turnout), Corn on the cob, sweet >potatoes, potato salad and green salad, and whatever I can rustle up for >desert. If anyone wants to bring or fix something special of their own, >feel free. > >There was a lot of interest for a date in September. I will do a repeat >performance in September if there is still interest. Someone propose a >date >for September. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Make every IM count. Download Messenger and join the i?m Initiative now. It?s free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 From kp at sdsonline.net Thu May 24 22:46:16 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Fri, 25 May 2007 13:46:16 +1000 Subject: [AccessD] OT Desktop search References: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> Message-ID: <006b01c79e7f$400eb790$6401a8c0@office> John - you didn't like Google's desktop search? Is this better? Kath ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 25, 2007 11:51 AM Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From thewaddles at sbcglobal.net Fri May 25 01:07:26 2007 From: thewaddles at sbcglobal.net (Kevin Waddle) Date: Thu, 24 May 2007 23:07:26 -0700 Subject: [AccessD] Zip codes within a radius In-Reply-To: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> References: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> Message-ID: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kost36 at otenet.gr Fri May 25 04:22:01 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Fri, 25 May 2007 12:22:01 +0300 Subject: [AccessD] Tab Control Locking References: Message-ID: <023901c79eae$2fd7abf0$6401a8c0@kost36> Hi group, is that possible to lock a tab control form asking when cliking for a password? many thank's /kostas From jwcolby at colbyconsulting.com Fri May 25 06:37:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 25 May 2007 07:37:14 -0400 Subject: [AccessD] Zip codes within a radius In-Reply-To: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> Message-ID: <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> Kevin, >I want to be like you when I grow up! Be careful what you ask for, God has a sense of humor. Fairfield eh? I went to a 'C' school down an Mare Island from 1972-1973. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kevin Waddle Sent: Friday, May 25, 2007 2:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Fri May 25 06:51:25 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 25 May 2007 07:51:25 -0400 Subject: [AccessD] OT Desktop search In-Reply-To: <006b01c79e7f$400eb790$6401a8c0@office> Message-ID: <20070525115126.C1C09BCDC@smtp-auth.no-ip.com> >you didn't like Google's desktop search? I didn't try it. It forcefully installed itself when I was setting up my new laptop and I despise that kind of behavior. >Is this better? I certainly can't say that. It is highly rated by one of the cybermags and was recommended by a friend the other day. I installed it and like it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti Sent: Thursday, May 24, 2007 11:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT Desktop search John - you didn't like Google's desktop search? Is this better? Kath ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 25, 2007 11:51 AM Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.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 wdhindman at dejpolsystems.com Fri May 25 09:22:50 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 25 May 2007 10:22:50 -0400 Subject: [AccessD] OT Desktop search References: <20070525115126.C1C09BCDC@smtp-auth.no-ip.com> Message-ID: <000b01c79ed8$2d982a20$7d7d6c4c@jisshowsbs.local> "I despise that kind of behavior" JC ...amen brother ...I'm keeping my clients Google free for just that reason ...reminds me of the old AOL, it does :( William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Friday, May 25, 2007 7:51 AM Subject: Re: [AccessD] OT Desktop search > >you didn't like Google's desktop search? > > I didn't try it. It forcefully installed itself when I was setting up my > new laptop and I despise that kind of behavior. > >>Is this better? > > I certainly can't say that. It is highly rated by one of the cybermags > and > was recommended by a friend the other day. I installed it and like it. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti > Sent: Thursday, May 24, 2007 11:46 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] OT Desktop search > > John - you didn't like Google's desktop search? Is this better? > > Kath > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' > Sent: Friday, May 25, 2007 11:51 AM > Subject: [AccessD] Desktop search > > > I finally broke down and installed a desktop search program (Copernic) on > my > new laptop and I think I like it. I can tell it to search just email and > go > back through my saved emails (which are immense) looking for specific > keywords. Instant finds. Pretty cool stuff. > > I have always saved specific emails in the long threads that AccessD is > so > famous for, but never really liked the way outlook found (or failed to > find) > what I was looking for. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 cfoust at infostatsystems.com Fri May 25 09:46:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 25 May 2007 07:46:17 -0700 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> References: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: I'll have to try for the next on, John. That weekend is spoken for. Have fun ... If you can find someone to argue with. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 5:45 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 25 09:47:35 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 25 May 2007 07:47:35 -0700 Subject: [AccessD] OT- Desktop search In-Reply-To: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> References: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> Message-ID: It isn't too bad after the initial indexing is through. I prefer it to the Google product. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 6:52 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Fri May 25 09:57:55 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Fri, 25 May 2007 09:57:55 -0500 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: Message-ID: Me too, Sept looks better for me Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 25, 2007 9:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I'll have to try for the next on, John. That weekend is spoken for. Have fun ... If you can find someone to argue with. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 5:45 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From reuben at gfconsultants.com Fri May 25 10:14:23 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Fri, 25 May 2007 11:14:23 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: Message-ID: > Have fun ... If you can find someone to argue with. ;-> > > Charlotte I don't that'll be a problem ;) I'd love to come, but can't. Reuben Cummings GFC, LLC 812.523.1017 From accessd at shaw.ca Fri May 25 13:15:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 25 May 2007 11:15:06 -0700 Subject: [AccessD] OT Totally In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: <0JIL00LKFZTKYB00@l-daemon> OT Friday Hi All: A friend sent me this article and as is really quiet funny in a fanatical sort of way: http://www.ctnow.com/custom/nmm/fairfieldweekly/hce-fcw-0524-ff22-fishingrep ort22.artmay24,0,5373814.story?coll=hce-headlines-fcw-advocate/# Jim From accessd at shaw.ca Fri May 25 13:18:35 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 25 May 2007 11:18:35 -0700 Subject: [AccessD] OT Friday In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: <0JIL00MXOZZDZVM1@l-daemon> OT Friday: If the last email was not enough, on a yet lighter vein: http://www.1-click.jp/ Jim From fuller.artful at gmail.com Fri May 25 14:59:00 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 25 May 2007 15:59:00 -0400 Subject: [AccessD] Word form to Access form Message-ID: <29f585dd0705251259i7ea856c1mbd08d56925e93a5f@mail.gmail.com> I am working on an app wherein a Word form exists, all nicely laid out as the client wishes to see it and print it. I don't think that it is a real Word form but rather a mockup. The central problem is, the form is in landscape mode and if I duplicated it identically in Access, it would end up with a vertical scrollbar. I don't like this. One click too many is one click too many, IMO. So I am trying to rationalize their Word-portrait form against my Access portrait form -- the latter requiring a vertical scrollbar. I don't like this aspect of the scenario. Second: Given Word form xyz with field locations bla bla bla, is there any way to conveniently reproduce said form in Access, other than measure the distances and duplicate them in Access? It would be so nice to point to said Word file and grab the control locations and re-create said form in Access. I don't think that this can be done. Oh Well. The alternative is to print out the Word form and begin measuring the x,y distance of every control and go from there. There ought to be an automated way to re-create the Word form in Access, given that the Object model is identical from both perspectives, but so far I cannot see my way from A to B. This problem generalizes in a problematic but very cool way. There is an editor in which you can write a line such as "x = CreateObject(" ADODB.something)" and said editor automatically grabs all the attributes and methods of said library. I would love to have a script that prints out the classes, nested classes, and so on unto the leaves for the selected library. For example, I create a FileSystemObject called fso. In several editors I can then IntelliSense the methods and attributes, but there is no readily apparent way to dump said (nested) list to a text file or XL sheet or whatever. I want to point at an arbitrary DLL that exposes methods and attributes, and grab all its internal dox into an Excel or Word file. Anyone got any guesses how to do this? TIA Arthur From galeper at gmail.com Fri May 25 18:24:14 2007 From: galeper at gmail.com (Gale Perez) Date: Fri, 25 May 2007 16:24:14 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error Message-ID: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale From dwaters at usinternet.com Fri May 25 19:24:04 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 25 May 2007 19:24:04 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: <000c01c79f2c$2b019590$0200a8c0@danwaters> Hi Gale, In addition to checking for Null, you also must check for an empty string. If IsNull(ctl) or ctl = "" Then If you want, you can place a value in a control's Tag property, such as R or Required to designate that field as required. But if every control that has a caption is actually required, then I think your method is appropriate. Also, I would recommend going through this loop before an error occurs, if you can. HTH, Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez Sent: Friday, May 25, 2007 6:24 PM To: accessd at databaseadvisors.com Subject: [AccessD] Error 3314 (required field) - trap in form_error Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From miscellany at mvps.org Fri May 25 23:15:16 2007 From: miscellany at mvps.org (Steve Schapel) Date: Sat, 26 May 2007 16:15:16 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: <4657B454.1020405@mvps.org> Gale, Are you sure it is not recognising the control as Null? Whereas Dan has suggested it may be a "" ZLS in the field, I can't see how that would happen, so I doubt that that's the problem. To me, it looks like you are testing the wrong control. It looks like your Screen.ActiveControl may not be referring to the control you think it is. Shouldn't you have the ctl.SetFocus *before* identifying it as the ActiveControl? By the way, as an aside, I think you are doing it the hard way. Try this idea instead... Set the field's Required property to No, its Validation Rule property to Is Not Null, and its Validation Text property to your user-friendly message. Delete the code. Voila? -- Steve Gale Perez wrote: > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale From andy at minstersystems.co.uk Sat May 26 01:40:55 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Sat, 26 May 2007 07:40:55 +0100 Subject: [AccessD] Tab Control Locking In-Reply-To: <023901c79eae$2fd7abf0$6401a8c0@kost36> Message-ID: <000501c79f60$d003df60$03b0d355@minster33c3r25> Hi Kostas I think you'll need to lock all of the controls within a tab rather than the tab itself. A simple way to do this is to drop a subform on the tab and put all of your controls in that. Then you need only set the subform locked and unlocked. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kostas Konstantinidis > Sent: 25 May 2007 10:22 > To: Access Developers discussion and problem solving > Subject: [AccessD] Tab Control Locking > > > Hi group, > is that possible to lock a tab control form asking when cliking for a > password? > > many thank's > /kostas > > > -- > 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 May 26 08:09:31 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 09:09:31 -0400 Subject: [AccessD] Formula for a calculated field Message-ID: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> In an Access table, I want the formula for column C to be A/B where A and B are columns. I put A/B in the default value slot for C but that doesn't work. I prefaced it with an = sign but that doesn't work either. I'm certain that I have done this before but I can't remember how I did it. Help? TIA, Arthur From stuart at lexacorp.com.pg Sat May 26 08:48:44 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 26 May 2007 23:48:44 +1000 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> Message-ID: <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> AFAIK, you can't do that in the actual table, you can only do it by setting the DefaultValue of a bound control on a form to a function using other bound controls (and the other controls must be before that one in the tab order) On 26 May 2007 at 9:09, Arthur Fuller wrote: > In an Access table, I want the formula for column C to be A/B where A and B > are columns. I put A/B in the default value slot for C but that doesn't > work. I prefaced it with an = sign but that doesn't work either. I'm certain > that I have done this before but I can't remember how I did it. Help? > > TIA, > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From dwaters at usinternet.com Sat May 26 09:26:31 2007 From: dwaters at usinternet.com (Dan Waters) Date: Sat, 26 May 2007 09:26:31 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <4657B454.1020405@mvps.org> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> Message-ID: <000901c79fa1$dcd70aa0$0200a8c0@danwaters> Steve, I agree that while the Screen.ActiveControl may be causing the wrong control to be checked, the value of the control for memo fields could indeed be a zero length string and must be checked for. In this example all controls are being checked (I assumed all the controls on the form could contain text), so checking for a ZLS on other controls won't hurt. This is an example of code I use for this purpose: Private Sub cmdDescriptionComplete() If DescriptionReady = False then Exit Sub End If ... End Sub Private Function DescriptionReady() As Boolean Dim stgMessage As String DescriptionReady = False If IsNull(txtPONumber) Then stgMessage = "The PO Number field is required.@ @" FormattedMsgBox GstgNotReady, stgMessage, vbExclamation + vbOKOnly, "Missing Information" txtPONumber.SetFocus Exit Function End If If IsNull(memProblem) Or memProblem = "" Then stgMessage = "The Problem field is required.@ @" FormattedMsgBox GstgNotReady, stgMessage, vbExclamation + vbOKOnly, "Missing Information" memProblem.SetFocus Exit Function End If DescriptionReady = True End Function I like this because it give the user an informative error message and it immediately moves the focus back to where they need to work. You can also set up conditional checks: If Not IsNull(A) And IsNull(B) Then DescriptionReady = False End If Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Schapel Sent: Friday, May 25, 2007 11:15 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Gale, Are you sure it is not recognising the control as Null? Whereas Dan has suggested it may be a "" ZLS in the field, I can't see how that would happen, so I doubt that that's the problem. To me, it looks like you are testing the wrong control. It looks like your Screen.ActiveControl may not be referring to the control you think it is. Shouldn't you have the ctl.SetFocus *before* identifying it as the ActiveControl? By the way, as an aside, I think you are doing it the hard way. Try this idea instead... Set the field's Required property to No, its Validation Rule property to Is Not Null, and its Validation Text property to your user-friendly message. Delete the code. Voila? -- Steve Gale Perez wrote: > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale -- 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 May 26 09:44:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 10:44:07 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> Oh well. I was afraid that was the answer. In SQL Server you can create a calculated column which doesn't even physically exist. Oh well. On 5/26/07, Stuart McLachlan wrote: > > AFAIK, you can't do that in the actual table, you can only do it by > setting the DefaultValue of a bound control on a form to a function using > other bound controls (and the other controls must be before that one in > the > tab order) > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > In an Access table, I want the formula for column C to be A/B where A > and B > > are columns. I put A/B in the default value slot for C but that doesn't > > work. I prefaced it with an = sign but that doesn't work either. I'm > certain > > that I have done this before but I can't remember how I did it. Help? > > > > TIA, > > 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 JHewson at karta.com Sat May 26 10:01:59 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:01:59 -0500 Subject: [AccessD] Tab Control Locking In-Reply-To: <000501c79f60$d003df60$03b0d355@minster33c3r25> References: <023901c79eae$2fd7abf0$6401a8c0@kost36> <000501c79f60$d003df60$03b0d355@minster33c3r25> Message-ID: <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> You could also hide the controls on the tab until the password is correct. Hide the controls by default then when the password is correct unhide them. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Saturday, May 26, 2007 1:41 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Tab Control Locking Hi Kostas I think you'll need to lock all of the controls within a tab rather than the tab itself. A simple way to do this is to drop a subform on the tab and put all of your controls in that. Then you need only set the subform locked and unlocked. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kostas Konstantinidis > Sent: 25 May 2007 10:22 > To: Access Developers discussion and problem solving > Subject: [AccessD] Tab Control Locking > > > Hi group, > is that possible to lock a tab control form asking when cliking for a > password? > > many 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 From JHewson at karta.com Sat May 26 10:04:36 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:04:36 -0500 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> Message-ID: <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> I'm just curious, why would you want to do that? Why would you want a calculated field in the table? All the calculating I've done has been either in a query / view or on the form or on the report. Thanks. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 26, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Formula for a calculated field Oh well. I was afraid that was the answer. In SQL Server you can create a calculated column which doesn't even physically exist. Oh well. On 5/26/07, Stuart McLachlan wrote: > > AFAIK, you can't do that in the actual table, you can only do it by > setting the DefaultValue of a bound control on a form to a function using > other bound controls (and the other controls must be before that one in > the > tab order) > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > In an Access table, I want the formula for column C to be A/B where A > and B > > are columns. I put A/B in the default value slot for C but that doesn't > > work. I prefaced it with an = sign but that doesn't work either. I'm > certain > > that I have done this before but I can't remember how I did it. Help? > > > > TIA, > > 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 fuller.artful at gmail.com Sat May 26 10:15:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 11:15:35 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> Message-ID: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bill_patten at earthlink.net Sat May 26 10:19:44 2007 From: bill_patten at earthlink.net (Bill Patten) Date: Sat, 26 May 2007 08:19:44 -0700 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <84D1E117273F4E51B2680A3765B60B15@BPCS> Arthur, Why not connect the customers forms/ reports etc to a query with calculated fields? Bill ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 8:15 AM Subject: Re: [AccessD] Formula for a calculated field I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 JHewson at karta.com Sat May 26 10:24:22 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:24:22 -0500 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <6C1791BC61725F44A28C24208026A51112629E@karta-exc-int.Karta.com> I understand explicitly. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 26, 2007 10:16 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Formula for a calculated field I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 setel.com Sat May 26 11:17:39 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 26 May 2007 12:17:39 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <001101c79fb1$627f5bd0$0e32fad1@SusanOne> I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". ======You can't base the form on a query with the calculated results? Arthur, give her what she wants -- show her an example where the calculated results is no longer valid because you update a value in one of the anchor fields, and then she gets the wrong result. Show her why want she wants is dangerous. Then show her how you can give her what she really wants -- the ability to filter records -- without the same danger. You need to gently explain to her that when her results are wrong, she's going to blame you. Susan H. From fuller.artful at gmail.com Sat May 26 11:19:52 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 12:19:52 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <84D1E117273F4E51B2680A3765B60B15@BPCS> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> <84D1E117273F4E51B2680A3765B60B15@BPCS> Message-ID: <29f585dd0705260919v26b6ce40n25fecd7bdcfbc5cd@mail.gmail.com> That's not a bad idea. I should have considered that in the first place, instead of whining that I'm not working in SQL Server :) A. On 5/26/07, Bill Patten wrote: > > Arthur, > > Why not connect the customers forms/ reports etc to a query with > calculated > fields? > > Bill From fuller.artful at gmail.com Sat May 26 11:56:44 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 12:56:44 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <001101c79fb1$627f5bd0$0e32fad1@SusanOne> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> <001101c79fb1$627f5bd0$0e32fad1@SusanOne> Message-ID: <29f585dd0705260956t573e505ek1db92fb317785b59@mail.gmail.com> Oh but Susan, that is sooo against my style! I prefer to be rude and confrontational. Gentle explanations are for weenies. LOL. Seriously, good advice. A. On 5/26/07, Susan Harkins wrote: > > I agree with you but the customer is always right, and to a certain extent > I > will give her the benefit of the doubt. She wants to be able to filter the > form and various reports by these calculated columns, so she wants to see > them there in the table. Besides, we're probably going to upsize the app > to > SQL Express fairly soon, where I can have the best of both worlds, i.e. > genuine calculated columns that consume no disk space but are logically > "there". > > ======You can't base the form on a query with the calculated results? > Arthur, give her what she wants -- show her an example where the > calculated > results is no longer valid because you update a value in one of the anchor > fields, and then she gets the wrong result. Show her why want she wants is > dangerous. Then show her how you can give her what she really wants -- the > ability to filter records -- without the same danger. > > You need to gently explain to her that when her results are wrong, she's > going to blame you. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From adtp at hotmail.com Sat May 26 13:55:00 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sun, 27 May 2007 00:25:00 +0530 Subject: [AccessD] Error 3314 (required field) - trap in form_error References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: Gale, My sample db named Forms_CheckReqdAndDuplicates might be of interest to you. It is available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Brief description is given below. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- Forms_CheckReqdAndDuplicates (Sample Db) (Description) ===================================== 1 - The sample db demonstrates incorporation of following safeguards at data entry stage. (a) Ensuring that for a given record, mandatory fields get entered before permitting data entry in any other field. (b) Ensuring that in case of unique composite index, if data being entered in any of the fields involved in such a combination would lead to creation of duplicates, a friendly message is provided, and the irregular entry is un-done. 2 - Mandatory Fields (Property settings in source table: Required = Yes, Allow zero length = No) (1) Sole dependence upon form's Error event for generating a friendly message, is by itself not adequate (This event fires only when the user tries to save the record or move to another record). (2) In order to ensure that even while staying at a given record, data entry in other fields becomes feasible only after the mandatory ones have been filled in, further programmatic support has been provided, some of the salient features being - (a) Controls pertaining to mandatory fields are identified by setting their tag property = R (This facilitates super-check on blank/filled status of such controls). (b) Once the form gets dirty, mandatory controls in blank state get highlighted in a special color. (c) If any attempt is made to enter data in some other control while any of the mandatory ones is still blank, the focus moves back to the first blank mandatory control, after providing a suitable friendly message. (d) Two styles are demonstrated. (i) Tabbed form (mandatory controls on first page, other controls on subsequent pages). (ii) Datasheet form 3 - Preventing duplicates in fields comprising composite unique index or primary key. (1) Here too, sole dependence upon form's Error event for generating a friendly message, is by itself not quite adequate, for reasons stated against 4.2 (1) above. (2) The sample demonstrates provision of super-check in exit event of controls pertaining to composite unique index. If any entry is such as would lead to duplication of combined field value, the entry is un-done and the exit event gets cancelled, after providing suitable friendly message. The focus continues to remain on the control in question. ===================================== ----- Original Message ----- From: Gale Perez To: accessd at databaseadvisors.com Sent: Saturday, May 26, 2007 04:54 Subject: [AccessD] Error 3314 (required field) - trap in form_error Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale From thewaddles at sbcglobal.net Sat May 26 14:49:02 2007 From: thewaddles at sbcglobal.net (Kevin Waddle) Date: Sat, 26 May 2007 12:49:02 -0700 Subject: [AccessD] Zip codes within a radius In-Reply-To: <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> References: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> Message-ID: <015701c79fce$ebb70cf0$6600a8c0@TheWaddles> John, You wouldn't recognize Mare Island. The only military left at Mare Island is an Army reserve Boat unit. It is being developed for housing, recreation and a college Right now, my son is doing his Summer Cruise for the NROTC on the USS Peleliu. It's kind of hard for a 28 year Air Force guy to accept, but if the Navy is going to pay for college then "Go Navy". Kevin -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 25, 2007 4:37 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius Kevin, >I want to be like you when I grow up! Be careful what you ask for, God has a sense of humor. Fairfield eh? I went to a 'C' school down an Mare Island from 1972-1973. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kevin Waddle Sent: Friday, May 25, 2007 2:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.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 miscellany at mvps.org Sat May 26 16:55:06 2007 From: miscellany at mvps.org (Steve Schapel) Date: Sun, 27 May 2007 09:55:06 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000901c79fa1$dcd70aa0$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> Message-ID: <4658ACBA.4030604@mvps.org> Thanks, Dan. Well, I realise there would be a difference of style or preference here, as against a question of right and wrong. For myself, if I was ending up with a ZLS in a memo field, my approach and advice would be to address the problem that is causing this, rather than trying to cover off the possibility in my validation code. Similarly, in the scenario originally described by Gale (Required field being trapped on a form event), my preference would still be the code-free solution of using Validation Rule property. In fact, I would also normally use Validation Rule rather than code in the case of situations such as your: Not IsNull(A) And IsNull(B) Regards Steve Dan Waters wrote: > Steve, > > I agree that while the Screen.ActiveControl may be causing the wrong control > to be checked, the value of the control for memo fields could indeed be a > zero length string and must be checked for. In this example all controls > are being checked (I assumed all the controls on the form could contain > text), so checking for a ZLS on other controls won't hurt. From dwaters at usinternet.com Sun May 27 09:39:24 2007 From: dwaters at usinternet.com (Dan Waters) Date: Sun, 27 May 2007 09:39:24 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <4658ACBA.4030604@mvps.org> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com><4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> <4658ACBA.4030604@mvps.org> Message-ID: <000901c7a06c$d3a1fff0$0200a8c0@danwaters> Hi Steve, The ZLS in memo fields occurs when a user has initially entered some data, and then erases that data. After that, the code doesn't see a null value, but does see a ZLS - odd but consistent. That's just normal user activity. I don't use the Validation rule because I want to give users a message box that is formatted with Bold text, rather than standard text. I've gotten quite a bit of feedback that this is preferred. This is what I use for a MsgBox (This was described on someone's site - don't remember who): Public Function FormattedMsgBox(stgSound As String, stgPrompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String = vbNullString, Optional HelpFile As Variant, Optional Context As Variant) As VbMsgBoxResult Call PlaySoundFile(stgSound) If IsMissing(HelpFile) Or IsMissing(Context) Then FormattedMsgBox = Eval("MsgBox(""" & stgPrompt & """, " & Buttons & ", """ & Title & """)") Else FormattedMsgBox = Eval("MsgBox(""" & stgPrompt & """, " & Buttons & ", """ & Title & """, """ & HelpFile & """, " & Context & ")") End If End Function Also, I want to provide a specific sound with each type of message (Question, Information, Critical, etc.), so I added that capability too. Thanks, Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Schapel Sent: Saturday, May 26, 2007 4:55 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Thanks, Dan. Well, I realise there would be a difference of style or preference here, as against a question of right and wrong. For myself, if I was ending up with a ZLS in a memo field, my approach and advice would be to address the problem that is causing this, rather than trying to cover off the possibility in my validation code. Similarly, in the scenario originally described by Gale (Required field being trapped on a form event), my preference would still be the code-free solution of using Validation Rule property. In fact, I would also normally use Validation Rule rather than code in the case of situations such as your: Not IsNull(A) And IsNull(B) Regards Steve Dan Waters wrote: > Steve, > > I agree that while the Screen.ActiveControl may be causing the wrong control > to be checked, the value of the control for memo fields could indeed be a > zero length string and must be checked for. In this example all controls > are being checked (I assumed all the controls on the form could contain > text), so checking for a ZLS on other controls won't hurt. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Sun May 27 10:06:36 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 11:06:36 -0400 Subject: [AccessD] OLEDB product names Message-ID: <005901c7a070$9fa5e820$de34fad1@SusanOne> I think I'm embarrassed to be asking this question, but how would you go about getting all the OLEDB product names and provider strings? I have a few short lists, but what happens when you need a product that's not on your list? Susan H. From stuart at lexacorp.com.pg Sun May 27 10:55:50 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 01:55:50 +1000 Subject: [AccessD] OLEDB product names In-Reply-To: <005901c7a070$9fa5e820$de34fad1@SusanOne> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> Message-ID: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a few > short lists, but what happens when you need a product that's not on your > list? > -- Stuart From jwcolby at colbyconsulting.com Sun May 27 11:05:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 12:05:13 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> Message-ID: <20070527160513.F1457BD5B@smtp-auth.no-ip.com> Can we get this up on our website? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Sunday, May 27, 2007 11:56 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? > -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Sun May 27 11:27:01 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 12:27:01 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> Message-ID: <000601c7a07b$dbe5f1d0$f432fad1@SusanOne> Wow -- thank you -- that's very comprehensive. Susan H. I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? From ssharkins at setel.com Sun May 27 11:42:14 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 12:42:14 -0400 Subject: [AccessD] How about Product ids? ( OLEDB product names) Message-ID: <000e01c7a07d$fc0ac970$f432fad1@SusanOne> OK, here's another one -- how about SQL Server's sp_addlinkedserver stored procedure? One of its arguments is productname, @srvproduct (the product id) -- and they're not exactly intuitive. :( I've looked for a good list, but not found one. Susan H. Wow -- thank you -- that's very comprehensive. Susan H. I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? From fuller.artful at gmail.com Sun May 27 11:45:13 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sun, 27 May 2007 12:45:13 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <005901c7a070$9fa5e820$de34fad1@SusanOne> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> Message-ID: <29f585dd0705270945v19f8e42aw5fcc645ab68adf15@mail.gmail.com> You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a > few > short lists, but what happens when you need a product that's not on your > list? > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Sun May 27 12:16:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 27 May 2007 10:16:53 -0700 Subject: [AccessD] OLEDB product names In-Reply-To: <29f585dd0705270945v19f8e42aw5fcc645ab68adf15@mail.gmail.com> Message-ID: <0JIP00E9HMG89C90@l-daemon> Again... it is already in the Reference section on the DBA website: http://www.databaseadvisors.com/reference/referencemisc.asp HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 27, 2007 9:45 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a > few > short lists, but what happens when you need a product that's not on your > list? > > 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 jwcolby at colbyconsulting.com Sun May 27 12:52:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 13:52:18 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <0JIP00E9HMG89C90@l-daemon> Message-ID: <20070527175218.F377FBCBC@smtp-auth.no-ip.com> Great. Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Sunday, May 27, 2007 1:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OLEDB product names Again... it is already in the Reference section on the DBA website: http://www.databaseadvisors.com/reference/referencemisc.asp HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 27, 2007 9:45 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? > > 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 jwcolby at colbyconsulting.com Sun May 27 12:55:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 13:55:13 -0400 Subject: [AccessD] Merge records Message-ID: <20070527175513.E10D6BCED@smtp-auth.no-ip.com> I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com From miscellany at mvps.org Sun May 27 18:21:52 2007 From: miscellany at mvps.org (Steve Schapel) Date: Mon, 28 May 2007 11:21:52 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000901c7a06c$d3a1fff0$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> <4658ACBA.4030604@mvps.org> <000901c7a06c$d3a1fff0$0200a8c0@danwaters> Message-ID: <465A1290.1010008@mvps.org> Hi Dan, Dan Waters wrote: > The ZLS in memo fields occurs when a user has initially entered some data, > and then erases that data. After that, the code doesn't see a null value, > but does see a ZLS - odd but consistent. That's just normal user activity. That's an example of exactly what I am talking about. In the unlikely event that an entry in a memo field is Required, and the user edits the memo control by deleting all exisitng data, then my style would be to attack that immediately. > I don't use the Validation rule because I want to give users a message box > that is formatted with Bold text, rather than standard text. I've gotten > quite a bit of feedback that this is preferred. Yes, I have a MsgBox97() function I use sometimes for this purpose (named in honour of the fact that Access 97 provides the bolding functionality natively). But anyway, fair enough, the Validation Text messages do not, as far as I know, allow for that level of customisation, so I can see where you coming from. For myself, validation at the level of the database engine has advantages which I will continue to avail myself of. > Also, I want to provide a specific sound with each type of message > (Question, Information, Critical, etc.), so I added that capability too. The sounds Access uses by default are different for each type of MsgBox. But again, if you want to use your own... Regards Steve From viner at EUnet.yu Mon May 28 04:35:20 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 11:35:20 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) Message-ID: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Hi, how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a label or text box control? Many TIA's, Ervin From andy at minstersystems.co.uk Mon May 28 05:23:25 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 28 May 2007 11:23:25 +0100 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Message-ID: <001101c7a112$3e45e600$c67fd355@minster33c3r25> Not sure if it's the character you want but a text box with a control source of =CHR(172) is aright-angle of sorts. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Ervin Brindza > Sent: 28 May 2007 10:35 > To: AccessD at databaseadvisors.com > Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > > > Hi, > how can I show the 'RIGHT ANGLE' (U+221F) character on my > form, in a label or text box control? Many TIA's, > Ervin > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From miscellany at mvps.org Mon May 28 05:43:48 2007 From: miscellany at mvps.org (Steve Schapel) Date: Mon, 28 May 2007 22:43:48 +1200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Message-ID: <465AB264.1010603@mvps.org> Ervin, You can go to the Character Map (Accessories=>System Tools in Windows XP), find the character you want (not all fonts include the U+221F character), and Select/Copy it. After that you can go to your Access application and simply Paste it in where you want it. Regards Steve Ervin Brindza wrote: > Hi, > how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a label or text box control? > Many TIA's, > Ervin From viner at EUnet.yu Mon May 28 05:40:08 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 12:40:08 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <001101c7a112$3e45e600$c67fd355@minster33c3r25> Message-ID: <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> Andy, many thanks, but it isn't the character I want ;0( I need that character trying to achieve the "tree view look" on my form... Ervin ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 28, 2007 12:23 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > Not sure if it's the character you want but a text box with a control > source of =CHR(172) is aright-angle of sorts. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Ervin Brindza >> Sent: 28 May 2007 10:35 >> To: AccessD at databaseadvisors.com >> Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) >> >> >> Hi, >> how can I show the 'RIGHT ANGLE' (U+221F) character on my >> form, in a label or text box control? Many TIA's, >> Ervin >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> >> > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From viner at EUnet.yu Mon May 28 06:17:56 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 13:17:56 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> <465AB264.1010603@mvps.org> Message-ID: <004501c7a119$da361420$0100a8c0@RazvojErvin> Thanks, but no success, because I need it in a VBA code, to programarically fill the content of the text box ;0( E. ----- Original Message ----- From: "Steve Schapel" To: "Access Developers discussion and problem solving" Sent: Monday, May 28, 2007 12:43 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > Ervin, > > You can go to the Character Map (Accessories=>System Tools in Windows > XP), find the character you want (not all fonts include the U+221F > character), and Select/Copy it. After that you can go to your Access > application and simply Paste it in where you want it. > > Regards > Steve > > > Ervin Brindza wrote: >> Hi, >> how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a >> label or text box control? >> Many TIA's, >> Ervin > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From stuart at lexacorp.com.pg Mon May 28 06:34:21 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 21:34:21 +1000 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> References: <001101c7a112$3e45e600$c67fd355@minster33c3r25>, <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> Message-ID: <465ABE3D.14611.33514972@stuart.lexacorp.com.pg> Open "Character Map", select Arial Unicode, select the character and then click on Copy. or Open Word, type 221f followed by Alt+X, then select it. Now paste it into the label or type '=" and paste it into the textbox followed by another '"' On 28 May 2007 at 12:40, Ervin Brindza wrote: > Andy, > many thanks, but it isn't the character I want ;0( > I need that character trying to achieve the "tree view look" on my form... > Ervin ----- Original Message ----- From: "Andy Lacey" > To: "'Access Developers discussion and problem > solving'" Sent: Monday, May 28, 2007 12:23 PM > Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > > > > Not sure if it's the character you want but a text box with a control > > source of =CHR(172) is aright-angle of sorts. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > >> Ervin Brindza > >> Sent: 28 May 2007 10:35 > >> To: AccessD at databaseadvisors.com > >> Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > >> > >> > >> Hi, > >> how can I show the 'RIGHT ANGLE' (U+221F) character on my > >> form, in a label or text box control? Many TIA's, > >> Ervin > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/accessd > >> Website: http://www.databaseadvisors.com > >> > >> > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > > 2:11 PM > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From stuart at lexacorp.com.pg Mon May 28 06:41:11 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 21:41:11 +1000 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <004501c7a119$da361420$0100a8c0@RazvojErvin> References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin>, <004501c7a119$da361420$0100a8c0@RazvojErvin> Message-ID: <465ABFD7.27098.33578CF6@stuart.lexacorp.com.pg> In that case: txtRightAngle = ChrW(&H221F) or txtRightAngle = ChrB(&H1F) + ChrB(&H22) On 28 May 2007 at 13:17, Ervin Brindza wrote: > Thanks, but no success, because I need it in a VBA code, to programarically > fill the content of the text box -- Stuart From viner at EUnet.yu Mon May 28 07:33:50 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 14:33:50 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin>, <004501c7a119$da361420$0100a8c0@RazvojErvin> <465ABFD7.27098.33578CF6@stuart.lexacorp.com.pg> Message-ID: <001a01c7a124$8761d9e0$0100a8c0@RazvojErvin> Stuart, magnificent!!! Thanks a lot, Ervin ----- Original Message ----- From: "Stuart McLachlan" To: "Access Developers discussion and problem solving" Sent: Monday, May 28, 2007 1:41 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > In that case: > txtRightAngle = ChrW(&H221F) > or > txtRightAngle = ChrB(&H1F) + ChrB(&H22) > > > On 28 May 2007 at 13:17, Ervin Brindza wrote: > >> Thanks, but no success, because I need it in a VBA code, to >> programarically >> fill the content of the text box -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From ssharkins at setel.com Mon May 28 08:06:53 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 09:06:53 -0400 Subject: [AccessD] Darren Dick Message-ID: <003d01c7a129$1812ba00$3cbc2ad1@SusanOne> Darren, the email address I have for you is bouncing -- would you contact me privately at ssharkins at setel.com. Group -- I apologize, carry on. ;) Susan H. From jwcolby at colbyconsulting.com Mon May 28 10:06:51 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 11:06:51 -0400 Subject: [AccessD] deduplication In-Reply-To: <0cf401c73862$dcb490c0$0709177d@pcadt> Message-ID: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Mon May 28 10:46:19 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 11:46:19 -0400 Subject: [AccessD] deduplication In-Reply-To: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> References: <0cf401c73862$dcb490c0$0709177d@pcadt> <20070528150652.BD38EBC84@smtp-auth.no-ip.com> Message-ID: <001801c7a13f$56730aa0$a7b82ad1@SusanOne> John, I'd remove all but the outer parentheses to see what kind of error you get -- will probably be more productive. WHERE (tblData1.HashPerson = tblData.HashPerson AND tblData1.PKID <=TblData.ID > 1) Susan H. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 28, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.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 Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From adtp at hotmail.com Mon May 28 12:28:38 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Mon, 28 May 2007 22:58:38 +0530 Subject: [AccessD] deduplication References: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> Message-ID: John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com From DWUTKA at Marlow.com Mon May 28 12:45:14 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 12:45:14 -0500 Subject: [AccessD] Electronic Signature Message-ID: Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Mon May 28 13:08:03 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 28 May 2007 20:08:03 +0200 Subject: [AccessD] Electronic Signature Message-ID: Hi Drew Thanks! What is/was the purpose of strLDAPConn? /gustav >>> DWUTKA at Marlow.com 28-05-2007 19:45 >>> Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew From jwcolby at colbyconsulting.com Mon May 28 14:00:44 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 15:00:44 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Mon May 28 14:03:13 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 00:33:13 +0530 Subject: [AccessD] Merge records References: <20070527175513.E10D6BCED@smtp-auth.no-ip.com> Message-ID: John, Sample update query given below, will update fields F1 to F4 in table tblData. If any field is empty, it will get filled in by the first significant value occurring in any record for this field, for the given HashPerson. This query makes use of function Fn_MergedValue(), also given below. After updating, duplicate records can be removed by running the sample delete query as given below. For a large sized table with large number of fields, if serious slow down is experienced while running the update query, you could consider carrying out the update process for a few fields at a time Best wishes, A.D.Tejpal --------------- Query for updating fields F1 to F4 (If the field is empty, first available value) ====================================== UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = Fn_MergedValue("F4",[F4],[HashPerson]); ====================================== Query for deleting duplicate HashPersons ====================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ====================================== Fn_MergedValue() - User defined function ====================================== Function Fn_MergedValue( _ ByVal FieldName As String, _ ByVal FieldValue As Variant, _ ByVal HashPersonValue _ As String) As String Dim Qst As String, Fdv As String Dim rst As DAO.Recordset Fdv = Nz(FieldValue, "") ' If field has significant value, retain it If Len(Fdv) > 0 Then GoTo ExitPoint End If ' If field is empty, fill in the first significant value ' occuring in any record for this field, for the ' given HashPerson Qst = "SELECT TOP 1 " & FieldName & _ " FROM tblData WHERE " & _ "HashPerson = '" & HashPersonValue & _ "' And Len(" & FieldName & ") > 0;" Set rst = DBEngine(0)(0).OpenRecordset(Qst) If rst.RecordCount > 0 Then Fdv = Nz(rst.Fields(0), "") End If ExitPoint: Fn_MergedValue = Fdv On Error Resume Next rst.Close Set rst = Nothing On Error GoTo 0 ' Note - For repetitive use, DBEngine(0)(0) ' is preferred over CurrentDb End Function ====================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Sunday, May 27, 2007 23:25 Subject: [AccessD] Merge records I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com From Gustav at cactus.dk Mon May 28 14:29:06 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 28 May 2007 21:29:06 +0200 Subject: [AccessD] deduplication Message-ID: Hi John You may get better results by using NOT IN: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); Air code. Test with caution. /gustav >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Mon May 28 14:37:30 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 28 May 2007 12:37:30 -0700 Subject: [AccessD] Electronic Signature In-Reply-To: Message-ID: <0JIR00JNONMGCI83@l-daemon> Hi Drew: Thanks for that looks really cool... how all the pieces fit together would undoubtedly become clear when viewing a working model. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Monday, May 28, 2007 10:45 AM To: Access Developers discussion and problem solving Subject: [AccessD] Electronic Signature Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 28 14:56:23 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 15:56:23 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> I created HashID fields which use the SHA1 hash function built in to SQL Server 2007. That gives me one single field to index and pull HashIDs from which uniquely identifies duplicates using count() grouping queries. These hash fields work quite well, though they are unreadable. The nice part is that they reduce multiple field strings - Addr, zip5, zip4 and even Lname & fName which are potentially 60 or 70 (or more) bytes long down to a string only about 20 bytes long. I then index those. I am building a query that returns HashIDs where count(HashID) > 0. Using that I pull all the PKIDs for those HashIDs. Using that I pull Max(PKID). You get the picture. Even starting with the HashID fields it is a multi-step process, kinda the 'brute force' approach, and I was hoping to come up with something simpler. So far A.D.s suggestion has refused to compile, regardless of how I muck around with it. I got a delete method working, but it does require running the delete query until no records delete. There are cases where I have 4,5, or even more duplicates. Once I figure out what I am doing, I hope to create a stored procedure where I can input the table name and just have the process run against that table. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 28, 2007 3:29 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] deduplication Hi John You may get better results by using NOT IN: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); Air code. Test with caution. /gustav >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From johnnyclock at gmail.com Mon May 28 15:05:57 2007 From: johnnyclock at gmail.com (Jonathan Gold) Date: Mon, 28 May 2007 13:05:57 -0700 Subject: [AccessD] deduplication In-Reply-To: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> References: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> Message-ID: <54130da90705281305k343e0ff1m16f3478efbe5b4ba@mail.gmail.com> This can't be it, but I notice that in your statement you have a capital 'T' (<=TblData.ID) where I expect a lower-case one: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; On 5/28/07, jwcolby wrote: > > I created HashID fields which use the SHA1 hash function built in to SQL > Server 2007. That gives me one single field to index and pull HashIDs > from > which uniquely identifies duplicates using count() grouping > queries. These > hash fields work quite well, though they are unreadable. The nice part is > that they reduce multiple field strings - Addr, zip5, zip4 and even Lname > & > fName which are potentially 60 or 70 (or more) bytes long down to a string > only about 20 bytes long. I then index those. > > I am building a query that returns HashIDs where count(HashID) > 0. Using > that I pull all the PKIDs for those HashIDs. Using that I pull Max(PKID). > You get the picture. Even starting with the HashID fields it is a > multi-step process, kinda the 'brute force' approach, and I was hoping to > come up with something simpler. > > So far A.D.s suggestion has refused to compile, regardless of how I muck > around with it. > > I got a delete method working, but it does require running the delete > query > until no records delete. There are cases where I have 4,5, or even more > duplicates. > > Once I figure out what I am doing, I hope to create a stored procedure > where > I can input the table name and just have the process run against that > table. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 28, 2007 3:29 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] deduplication > > Hi John > > You may get better results by using NOT IN: > > DELETE * FROM tblData > WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); > > Air code. Test with caution. > > /gustav > > > >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> > A.D. > > It seems to me that the subquery SELECT should be able to stand alone, and > the subquery is giving a "Incorrect syntax near '>'" > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, May 28, 2007 1:29 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] deduplication > > John, > > Considering the table & field names mentioned by you, the SQL given > below should get you the desired results. > > You might like to try it out & confirm the outcome. > > Best wishes, > A.D.Tejpal > --------------- > > ===================================== > DELETE * FROM tblData > WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; > ===================================== > > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' > Sent: Monday, May 28, 2007 20:36 > Subject: Re: [AccessD] deduplication > > > A.D. (or anyone willing to chime in) > > I am attempting to implement your solution. I created the following > select > which should be the sub query in the outer WHERE: > > SELECT count(*) > FROM tblData > AS tblData1 > WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID > <=TblData.ID)) > 1; > > However I am getting the very infamous Incorrect syntax near '>'. > > Any thoughts? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, January 15, 2007 12:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] deduplication > > Sample query as given below, would remove all duplicates (other than > the first occurrence for each case). > > T_Data is the name of table, while F1, F2 & F3 are the names of > fields, whose combined value determines whether a record is duplicate or > not. ID is the primary key (number type). > > A.D.Tejpal > --------------- > > ===================================== > DELETE * FROM T_Data > WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = > T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; > ===================================== > > ----- Original Message ----- > From: JWColby > To: 'Access Developers discussion and problem solving' ; > dba-sqlserver at databaseadvisors.com > Sent: Monday, January 15, 2007 09:19 > Subject: [AccessD] deduplication > > Is there a SQL syntax or method for identifying duplicate records > based > on and automatically removing (or marking) the second and subsequent > instances of that record. > > I am working with a database where there may be several records for > the > same person. Each record will have slightly different data in the record. > I > need to find all the records for a given person, remove or somehow flag > the > "duplicate" records, and eventually "merge" the duplicate records > together. > > I know how to use groupby and count to find the dupes but I don't > really > know how to then merge fields F through M from records 2,3 and 4 back into > fields F through M in record 1. This is going to be an ongoing project so > I > need to learn the methodology to get it done. I can do it with recordsets > and code, but not with SQL, and given the large potential numbers of > records > SQL would be my first choice. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- Jonathan Berkeley, CA http://home.pacbell.net/jonnygee/ From ssharkins at setel.com Mon May 28 15:06:29 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 16:06:29 -0400 Subject: [AccessD] deduplication In-Reply-To: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> References: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> Message-ID: <004901c7a163$aeeb9f20$a7b82ad1@SusanOne> Oh wait... That's a DELETE query -- can you run a DELETE with a subquery? Susan H. A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.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 Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From adtp at hotmail.com Mon May 28 15:08:45 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 01:38:45 +0530 Subject: [AccessD] deduplication References: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> Message-ID: John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 00:30 Subject: Re: [AccessD] deduplication A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com From DWUTKA at Marlow.com Mon May 28 15:35:28 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 15:35:28 -0500 Subject: [AccessD] Electronic Signature In-Reply-To: References: Message-ID: Ooops, forgot to take that out....the original function had manual settings, I modified it to grab the current domain. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 28, 2007 1:08 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Electronic Signature Hi Drew Thanks! What is/was the purpose of strLDAPConn? /gustav >>> DWUTKA at Marlow.com 28-05-2007 19:45 >>> Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From DWUTKA at Marlow.com Mon May 28 15:36:35 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 15:36:35 -0500 Subject: [AccessD] Electronic Signature In-Reply-To: <0JIR00JNONMGCI83@l-daemon> References: <0JIR00JNONMGCI83@l-daemon> Message-ID: Just make a form with two text boxes. Username and Password. Feed them into the function. The function returns true if the username and password are valid on the domain you're on. False if invalid. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 28, 2007 2:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Electronic Signature Hi Drew: Thanks for that looks really cool... how all the pieces fit together would undoubtedly become clear when viewing a working model. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Monday, May 28, 2007 10:45 AM To: Access Developers discussion and problem solving Subject: [AccessD] Electronic Signature Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Mon May 28 15:48:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 16:48:14 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528204815.13262BE63@smtp-auth.no-ip.com> A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 00:30 Subject: Re: [AccessD] deduplication A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Mon May 28 16:19:44 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 28 May 2007 14:19:44 -0700 Subject: [AccessD] Electronic Signature In-Reply-To: References: <0JIR00JNONMGCI83@l-daemon> Message-ID: <465B4770.20602@shaw.ca> Just a security check, does your routine pass true for a username string ' Or 1=1 -- Yup the quote is part of the string Drew Wutka wrote: >Just make a form with two text boxes. Username and Password. Feed them >into the function. The function returns true if the username and >password are valid on the domain you're on. False if invalid. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence >Sent: Monday, May 28, 2007 2:38 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Electronic Signature > >Hi Drew: > >Thanks for that looks really cool... how all the pieces fit together >would >undoubtedly become clear when viewing a working model. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka >Sent: Monday, May 28, 2007 10:45 AM >To: Access Developers discussion and problem solving >Subject: [AccessD] Electronic Signature > >Hey folks, I've spent most of the weekend updating a system I built >about 7 years ago. It's our Help Desk program. One of the features >I've always wanted to add was an electronic signature capability. To do >this, I wanted to be able to prompt for a user's NT Name and Password, >and validate it. It is very simple to get the currently logged on >user's NT name, but for an electronic signature, it is much better to >prompt for credentials. I found code, years ago, that did this, but it >wasn't perfect, because it didn't work for my NT account. I have an odd >character in my password, and everything I had found would fail to >authenticate with passwords that had odd ascii values in them. (Even >though I can log onto our network fine). > > > >This weekend I found (and tweaked) a process that works perfectly. I >figured I would share the validation function with ya'all: (It needs a >reference to ADO) > > > >Function ValidateNTUser(strUserName As String, strPassword As String) As >Boolean > >On Error Resume Next > >Dim strDomain As String > >Dim conLDAP As ADODB.Connection > >Dim strSQL As String > >Dim strLDAPConn As String > >Dim rsUser As ADODB.Recordset > >strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") > >Set conLDAP = New ADODB.Connection > >conLDAP.Provider = "ADSDSOOBject" > >strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where >objectClass='user' and objectcategory='person' and SamAccountName='" & >strUserName & "'" > >conLDAP.Provider = "ADsDSOObject" > >conLDAP.Properties("User ID") = strUserName > >conLDAP.Properties("Password") = strPassword > >conLDAP.Properties("Encrypt Password") = True > >conLDAP.Open "DS Query", strUserName, strPassword > >Err.Clear > >Set rsUser = conLDAP.Execute(strSQL) > >ValidateNTUser = False > >If Err.Number = 0 Then > > If Not (rsUser Is Nothing) Then > > If Not (rsUser.EOF And rsUser.BOF) Then > > ValidateNTUser = True > > End If > > End If > >End If > >End Function > > -- Marty Connelly Victoria, B.C. Canada From gustav at cactus.dk Mon May 28 17:33:47 2007 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 29 May 2007 00:33:47 +0200 Subject: [AccessD] deduplication Message-ID: Hi John OK. Then this should work: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 PKID FROM tblData As T1 WHERE T1.HashFamily = tblData.HashFamily ORDER BY T1.PKID); Still air code ... /gustav From adtp at hotmail.com Tue May 29 00:35:28 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 11:05:28 +0530 Subject: [AccessD] deduplication References: <20070528204815.13262BE63@smtp-auth.no-ip.com> Message-ID: John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 02:18 Subject: Re: [AccessD] deduplication A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- From rockysmolin at bchacc.com Tue May 29 00:39:29 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 28 May 2007 22:39:29 -0700 Subject: [AccessD] Need to Break Informix Password Message-ID: <00ad01c7a1b3$ba4c9ef0$0301a8c0@HAL9005> Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. From darrend at nimble.com.au Tue May 29 01:12:32 2007 From: darrend at nimble.com.au (Darren D) Date: Tue, 29 May 2007 16:12:32 +1000 Subject: [AccessD] Darren Dick In-Reply-To: <003d01c7a129$1812ba00$3cbc2ad1@SusanOne> Message-ID: <200705290803.l4T83bBu022078@databaseadvisors.com> NO ARCHIVE Really sorry team - please ignore Hi Susan Yes got your email to the TRIPLEDEE address now my emails to you @ setel.com are bouncing Reason: Remote SMTP Server Returned: 421 temporary envelope failure (#4.3.0) Not sure what this means Sorry team Darren ------------------ T: 0424 696 433 -----Original Message----- From: Susan Harkins [mailto:ssharkins at setel.com] Sent: Monday, 28 May 2007 11:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Darren Dick Darren, the email address I have for you is bouncing -- would you contact me privately at ssharkins at setel.com. Group -- I apologize, carry on. ;) Susan H. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 28/05/2007 11:40 AM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 28/05/2007 11:40 AM From jwcolby at colbyconsulting.com Tue May 29 06:07:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:07:15 -0400 Subject: [AccessD] Need to Break Informix Password In-Reply-To: <00ad01c7a1b3$ba4c9ef0$0301a8c0@HAL9005> Message-ID: <20070529110717.AE361BD46@smtp-auth.no-ip.com> 1 gigabyte is not bad to send over the internet - ftp. Zip it up and upload to an FTP site. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Tuesday, May 29, 2007 1:39 AM To: 'Access Developers discussion and problem solving' Cc: List Subject: [AccessD] Need to Break Informix Password Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 29 06:18:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:18:30 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070529111832.6AEECBF8A@smtp-auth.no-ip.com> A.D. It is possible that the reason for the problem is the environment. Due to the size of the databases, I do all of this stuff in SQL Server. All I know is that when I do the "verify sql syntax" it returns an error. I am still working on it. I pulled a table of just the duplicates. I could send just those in a separate database container, zipped up. I'll let you know if I need to do that. I have to get this stuff working today or I will be in trouble. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Tuesday, May 29, 2007 1:35 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] deduplication John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 02:18 Subject: Re: [AccessD] deduplication A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 29 06:51:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:51:59 -0400 Subject: [AccessD] Merge records In-Reply-To: Message-ID: <20070529115201.0F524BD46@smtp-auth.no-ip.com> A.D. When I removed the first * from the query the "SQL Check" stopped giving me errors. Apparently the syntax: "DELETE * FROM tblData" Is invalid in SQL Server, whereas: "DELETE FROM tblData" is valid. Now that I am beyond that stumbling block, let me test and get back to you. Thanks for all of your help. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 3:03 PM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] Merge records John, Sample update query given below, will update fields F1 to F4 in table tblData. If any field is empty, it will get filled in by the first significant value occurring in any record for this field, for the given HashPerson. This query makes use of function Fn_MergedValue(), also given below. After updating, duplicate records can be removed by running the sample delete query as given below. For a large sized table with large number of fields, if serious slow down is experienced while running the update query, you could consider carrying out the update process for a few fields at a time Best wishes, A.D.Tejpal --------------- Query for updating fields F1 to F4 (If the field is empty, first available value) ====================================== UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = Fn_MergedValue("F4",[F4],[HashPerson]); ====================================== Query for deleting duplicate HashPersons ====================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ====================================== Fn_MergedValue() - User defined function ====================================== Function Fn_MergedValue( _ ByVal FieldName As String, _ ByVal FieldValue As Variant, _ ByVal HashPersonValue _ As String) As String Dim Qst As String, Fdv As String Dim rst As DAO.Recordset Fdv = Nz(FieldValue, "") ' If field has significant value, retain it If Len(Fdv) > 0 Then GoTo ExitPoint End If ' If field is empty, fill in the first significant value ' occuring in any record for this field, for the ' given HashPerson Qst = "SELECT TOP 1 " & FieldName & _ " FROM tblData WHERE " & _ "HashPerson = '" & HashPersonValue & _ "' And Len(" & FieldName & ") > 0;" Set rst = DBEngine(0)(0).OpenRecordset(Qst) If rst.RecordCount > 0 Then Fdv = Nz(rst.Fields(0), "") End If ExitPoint: Fn_MergedValue = Fdv On Error Resume Next rst.Close Set rst = Nothing On Error GoTo 0 ' Note - For repetitive use, DBEngine(0)(0) ' is preferred over CurrentDb End Function ====================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Sunday, May 27, 2007 23:25 Subject: [AccessD] Merge records I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From hollisvj at pgdp.usec.com Tue May 29 08:41:39 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Tue, 29 May 2007 08:41:39 -0500 Subject: [AccessD] Check Subform for NotNull Message-ID: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> I have a form and a subform where the users want the subform locked if a record has been entered. They do not want it to be changed once data has been entered. They can add new records, just not edit existing records. Then I have the problem - 'what if they make a typo' and discover it after the record has been entered and locked. They only want a supervisor to be able to go back, unlock the record on the subform and make the change. I tried the below code OnOpen of the Main form, but receive an error. If IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked Else End If Virginia From rockysmolin at bchacc.com Tue May 29 09:01:57 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Tue, 29 May 2007 07:01:57 -0700 Subject: [AccessD] Need to Break Informix Password In-Reply-To: <20070529110717.AE361BD46@smtp-auth.no-ip.com> Message-ID: <001001c7a1f9$ebb8bd70$0301a8c0@HAL9005> On the theory that once I get a hold of it I'll be able to break it? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 29, 2007 4:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Need to Break Informix Password 1 gigabyte is not bad to send over the internet - ftp. Zip it up and upload to an FTP site. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Tuesday, May 29, 2007 1:39 AM To: 'Access Developers discussion and problem solving' Cc: List Subject: [AccessD] Need to Break Informix Password Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 11:40 AM From fuller.artful at gmail.com Tue May 29 09:07:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 10:07:47 -0400 Subject: [AccessD] Merge records In-Reply-To: <20070529115201.0F524BD46@smtp-auth.no-ip.com> References: <20070529115201.0F524BD46@smtp-auth.no-ip.com> Message-ID: <29f585dd0705290707m6ef7f2dcwa622bb2e96d50ea1@mail.gmail.com> If you think about it, JC, DELETE * is kind of redundant. What else could you mean?. You can't delete all the values in a column, for example. You can DELETE WHERE but that is still all the columns. On 5/29/07, jwcolby wrote: > > A.D. > > When I removed the first * from the query the "SQL Check" stopped giving > me > errors. Apparently the syntax: > > "DELETE * FROM tblData" > > Is invalid in SQL Server, whereas: > > "DELETE FROM tblData" > > is valid. > > Now that I am beyond that stumbling block, let me test and get back to > you. > > Thanks for all of your help. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, May 28, 2007 3:03 PM > To: Access Developers discussion and problem solving > Cc: ADT > Subject: Re: [AccessD] Merge records > > John, > > Sample update query given below, will update fields F1 to F4 in table > tblData. If any field is empty, it will get filled in by the first > significant value occurring in any record for this field, for the given > HashPerson. This query makes use of function Fn_MergedValue(), also given > below. > > After updating, duplicate records can be removed by running the sample > delete query as given below. > > For a large sized table with large number of fields, if serious slow > down is experienced while running the update query, you could consider > carrying out the update process for a few fields at a time > > > Best wishes, > A.D.Tejpal > --------------- > > Query for updating fields F1 to F4 > (If the field is empty, first available value) > ====================================== > UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), > tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = > Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = > Fn_MergedValue("F4",[F4],[HashPerson]); > ====================================== > > Query for deleting duplicate HashPersons > ====================================== > DELETE * FROM tblData > WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; > ====================================== > > Fn_MergedValue() - User defined function > ====================================== > Function Fn_MergedValue( _ > ByVal FieldName As String, _ > ByVal FieldValue As Variant, _ > ByVal HashPersonValue _ > As String) As String > Dim Qst As String, Fdv As String > Dim rst As DAO.Recordset > > Fdv = Nz(FieldValue, "") > ' If field has significant value, retain it > If Len(Fdv) > 0 Then > GoTo ExitPoint > End If > > ' If field is empty, fill in the first significant value > ' occuring in any record for this field, for the > ' given HashPerson > Qst = "SELECT TOP 1 " & FieldName & _ > " FROM tblData WHERE " & _ > "HashPerson = '" & HashPersonValue & _ > "' And Len(" & FieldName & ") > 0;" > Set rst = DBEngine(0)(0).OpenRecordset(Qst) > > If rst.RecordCount > 0 Then > Fdv = Nz(rst.Fields(0), "") > End If > > ExitPoint: > > Fn_MergedValue = Fdv > > On Error Resume Next > rst.Close > Set rst = Nothing > On Error GoTo 0 > > ' Note - For repetitive use, DBEngine(0)(0) > ' is preferred over CurrentDb > End Function > ====================================== > > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' ; > dba-sqlserver at databaseadvisors.com > Sent: Sunday, May 27, 2007 23:25 > Subject: [AccessD] Merge records > > > I have a situation where I might have several data records in a table (the > big 700 field table) that are about the same person / address but have > different data in some of the other fields. These records represent > answers to surveys and so if a person answered three surveys, the person > could have three records in the database. I need to merge the data from > the > three records into a single record, and eventually delete the other two. > > I have developed a field that represents the SHA1 hash of the address, > zip5, zip4, lastname and firstname. I am running some tests to see > whether > this hash is unique across 50 million records (unique to that name / > address) but I suspect that it will be. Once I determine that it is, then > I > can use that single field as a single "person identifier" field. > > So I need pointers how to "merge" the data from one record into a second > record, only merging fields where there is legitimate data, and not > overwriting fields where there is already data. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Tue May 29 09:33:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 10:33:50 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070529143352.6352AC006@smtp-auth.no-ip.com> A.D. Your SQL worked as advertised once I got past the "SELECT *" issue. The following is the actual code that I ran to do the Family level deduping: DELETE FROM tblData WHERE ( SELECT Count(*) FROM tblData AS T1 WHERE T1.HashFamily = tblData.HashFamily AND T1.PKID <= tblData.PKID ) > 1; I created a query to pull just the dupes (at the person level) into a separate table, then ran the code against that table, deleting dupes against the HashPerson field. When finished there were no dupes in HashPerson, as would be expected. BTW ~360K person level dupes were deleted. I then ran a query displaying all of the records with dupes in HashFamily. There are still 11.7K dupe COUNTS > 1 in Hash Family which is expected, these being different first names, same last names. I then modified the query to use HashFamily field to do the deletes and 12,416 records were deleted. This means that there were several cases where there were 3 or more people with the same last name different first name in the result set. Once the delete completed there are no dupes in HashFamily. That is the desired result for this order, deduped to the family level. I do have to perform one last check, which is to ensure that the delete query did not simply remove ALL members with a given person or family hash. I believe that I have accomplished this test by isolating all of the dupes into a separate table and performing the dedupe against just the duplicate result set. If there are records left, then the delete function did not delete all the dupes, but left one record for each hash value for the chosen hash field. Since the table still contains 311K records (from an initial 660K duplicate HashPerson record set) I believe that the method works correctly. Thanks to you I now have a generalized method that I can build into a stored procedure where I can feed in the table name, HashField name, PKID name and cause a dupe delete to happen to that duplication level. Once again A.D., your assistance (and patience) is most appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Tuesday, May 29, 2007 1:35 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] deduplication John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) From jwcolby at colbyconsulting.com Tue May 29 09:42:06 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 10:42:06 -0400 Subject: [AccessD] Merge records In-Reply-To: <29f585dd0705290707m6ef7f2dcwa622bb2e96d50ea1@mail.gmail.com> Message-ID: <20070529144208.8243CC02B@smtp-auth.no-ip.com> >If you think about it, JC, DELETE * is kind of redundant. Yep. Unfortunately we get used to using whatever SQL syntax works in the environment that we work, day to day, which of course for me has been Access. Also unfortunately, each vendor adds extensions and "stuff" to the SQL language which is non-standard. This is a case apparently where the * is a non-standard extension added to the ACCESS environment for reasons only known to the vendor. If you use the QBE grid to build a delete query in Access, it inserts that * and you get used to seeing it, so it becomes "the norm". Once I scripted the table to a query in SQL Server the lack of the * popped right out and I deleted it and voila. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 29, 2007 10:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Merge records If you think about it, JC, DELETE * is kind of redundant. What else could you mean?. You can't delete all the values in a column, for example. You can DELETE WHERE but that is still all the columns. From fuller.artful at gmail.com Tue May 29 10:19:03 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 11:19:03 -0400 Subject: [AccessD] Dlookup Replacement Message-ID: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> I remember reading about a replacement for Dlookup() that allowed multiple lookups to be done in one call. I've searched the archives but not found what I wanted. Does anyone know of it, and where I can get it? TIA, Arthur From galeper at gmail.com Tue May 29 11:35:43 2007 From: galeper at gmail.com (Gale Perez) Date: Tue, 29 May 2007 09:35:43 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000c01c79f2c$2b019590$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> Message-ID: <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> Dan, Steve, and A.D. (hope I didn't leave anyone out), Wow ... as always, I am amazed at how helpful this group is!! Thank you all so much. I'm very grateful for your thoughts and am looking at your suggestions right now. Gale On 5/25/07, Dan Waters wrote: > > Hi Gale, > > In addition to checking for Null, you also must check for an empty string. > > If IsNull(ctl) or ctl = "" Then > > If you want, you can place a value in a control's Tag property, such as R > or > Required to designate that field as required. But if every control that > has > a caption is actually required, then I think your method is appropriate. > > Also, I would recommend going through this loop before an error occurs, if > you can. > > HTH, > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > Sent: Friday, May 25, 2007 6:24 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would > like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 pharold at proftesting.com Tue May 29 12:05:35 2007 From: pharold at proftesting.com (Perry L Harold) Date: Tue, 29 May 2007 13:05:35 -0400 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> References: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D157@EXCHANGE.ptiorl.local> frm.InventorySubform in the locked statement s/b frm_InventorySubform like the isnull statement? Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hollis, Virginia Sent: Tuesday, May 29, 2007 9:42 AM To: accessD at databaseadvisors.com Subject: [AccessD] Check Subform for NotNull I have a form and a subform where the users want the subform locked if a record has been entered. They do not want it to be changed once data has been entered. They can add new records, just not edit existing records. Then I have the problem - 'what if they make a typo' and discover it after the record has been entered and locked. They only want a supervisor to be able to go back, unlock the record on the subform and make the change. I tried the below code OnOpen of the Main form, but receive an error. If IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked Else End If Virginia -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kost36 at otenet.gr Tue May 29 12:38:38 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Tue, 29 May 2007 20:38:38 +0300 Subject: [AccessD] Tab Control Locking In-Reply-To: <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25> <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> Message-ID: <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> Hi Jim.. sorry for thedelay to your quickly response but it happened because of a big crash in my PC (I have already bought a new one...) hmm that's what I need for... but I don't know how to do it.. many many thank's /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 6:01 PM Subject: Re: [AccessD] Tab Control Locking > > You could also hide the controls on the tab until the password is correct. > Hide the controls by default then when the password is correct unhide > them. > > Jim > jhewson at karta.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Saturday, May 26, 2007 1:41 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Tab Control Locking > > Hi Kostas > I think you'll need to lock all of the controls within a tab rather than > the > tab itself. A simple way to do this is to drop a subform on the tab and > put > all of your controls in that. Then you need only set the subform locked > and > unlocked. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Kostas Konstantinidis >> Sent: 25 May 2007 10:22 >> To: Access Developers discussion and problem solving >> Subject: [AccessD] Tab Control Locking >> >> >> Hi group, >> is that possible to lock a tab control form asking when cliking for a >> password? >> >> many 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 > > From adtp at hotmail.com Tue May 29 12:45:14 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 23:15:14 +0530 Subject: [AccessD] deduplication References: <20070529143352.6352AC006@smtp-auth.no-ip.com> Message-ID: You are most welcome John! I am glad that you were successful in evolving a solution on the desired lines. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 20:03 Subject: Re: [AccessD] deduplication A.D. Your SQL worked as advertised once I got past the "SELECT *" issue. The following is the actual code that I ran to do the Family level deduping: DELETE FROM tblData WHERE (SELECT Count(*) FROM tblData AS T1 WHERE T1.HashFamily = tblData.HashFamily AND T1.PKID <= tblData.PKID) > 1; I created a query to pull just the dupes (at the person level) into a separate table, then ran the code against that table, deleting dupes against the HashPerson field. When finished there were no dupes in HashPerson, as would be expected. BTW ~360K person level dupes were deleted. I then ran a query displaying all of the records with dupes in HashFamily. There are still 11.7K dupe COUNTS > 1 in Hash Family which is expected, these being different first names, same last names. I then modified the query to use HashFamily field to do the deletes and 12,416 records were deleted. This means that there were several cases where there were 3 or more people with the same last name different first name in the result set. Once the delete completed there are no dupes in HashFamily. That is the desired result for this order, deduped to the family level. I do have to perform one last check, which is to ensure that the delete query did not simply remove ALL members with a given person or family hash. I believe that I have accomplished this test by isolating all of the dupes into a separate table and performing the dedupe against just the duplicate result set. If there are records left, then the delete function did not delete all the dupes, but left one record for each hash value for the chosen hash field. Since the table still contains 311K records (from an initial 660K duplicate HashPerson record set) I believe that the method works correctly. Thanks to you I now have a generalized method that I can build into a stored procedure where I can feed in the table name, HashField name, PKID name and cause a dupe delete to happen to that duplication level. Once again A.D., your assistance (and patience) is most appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From jerbach.access at gmail.com Tue May 29 13:04:07 2007 From: jerbach.access at gmail.com (Janet Erach) Date: Tue, 29 May 2007 13:04:07 -0500 Subject: [AccessD] How to repair corrupt database Message-ID: We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report ? call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database ? access crashes. 3) Running Jetcomp ? error compacting database 4) Create an empty database ? import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app ? the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks ? Janet Erbach From erbachs at gmail.com Tue May 29 13:17:11 2007 From: erbachs at gmail.com (Steve Erbach) Date: Tue, 29 May 2007 13:17:11 -0500 Subject: [AccessD] Dlookup Replacement In-Reply-To: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> References: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> Message-ID: <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> Arthur, I still use a set of DLookup(), DCount(), etc., replacements that I think I found as a result of something someone here said years ago. These replacements are called TLookup(), TCount(), etc., and were created by T. Best back in '96. With later modifications included, they're available at: http://easyweb.easynet.co.uk/~trevor/downloads/baslookup.zip Allen Browne's eLookup(): http://allenbrowne.com/ser-42.html Looks like a dba-SQLServer message dealt with this general topic, too: http://databaseadvisors.com/pipermail/dba-sqlserver/2003-March/000268.html Will those do? Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/29/07, Arthur Fuller wrote: > I remember reading about a replacement for Dlookup() that allowed multiple > lookups to be done in one call. I've searched the archives but not found > what I wanted. Does anyone know of it, and where I can get it? > > TIA, > Arthur From askolits at ot.com Tue May 29 13:25:21 2007 From: askolits at ot.com (John Skolits) Date: Tue, 29 May 2007 14:25:21 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <00d601c7a21e$b7a87e60$0f01a8c0@officexp> In the past, I would import into a new database only those items I knew were good. In this case, import everything except the reports. Then see if you get compile errors. If it compiles correctly, make a backup and then start importing only those reports that you know are good. I would always save a backup copy of each of the databases that compile correctly before importing additional objects. Keep importing more reports until eventually, you'll try to import a bad object and the database will be corrupt. Then you'll know which report(s) is causing the problem. That's the only way I have fixed the problem you're having. John Skolits -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erach Sent: Tuesday, May 29, 2007 2:04 PM To: accessD at databaseadvisors.com Subject: [AccessD] How to repair corrupt database We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report - call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database - access crashes. 3) Running Jetcomp - error compacting database 4) Create an empty database - import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app - the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks - Janet Erbach -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Tue May 29 13:31:42 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 14:31:42 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> This is going to sound really odd, but I have seen it work. Open it in Excel -- DO NOT save your mdb file as a Excel worksheet -- you'll totally destroy it. Just open it. Then, close it. I have absolutely no idea why it sometimes works, I just not that it does. Word of warning, it probably won't work, and you might want to make a copy before you do this. I've never seen opening an mdb in Excel hurt anything -- only if you save it as an xls file -- but I'd be over-cautious. You mentioned that in the new database, where you imported all the objects, that it's still complaining about missing variables, etc. Does ReportX's module have any code in it? Since you can't delete the module, try erasing all the code, then repair. Just a thought. Susan H. We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report - call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database - access crashes. 3) Running Jetcomp - error compacting database 4) Create an empty database - import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app - the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks - Janet Erbach -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From BarbaraRyan at cox.net Tue May 29 13:33:42 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Tue, 29 May 2007 14:33:42 -0400 Subject: [AccessD] Access Security Message-ID: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan From erbachs at gmail.com Tue May 29 13:44:37 2007 From: erbachs at gmail.com (Steve Erbach) Date: Tue, 29 May 2007 13:44:37 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <39cb22f30705291144j22d65caeyc1b221c3edf5da1d@mail.gmail.com> Mrs. E., I looked through some older AccessD messages to find something regarding exporting Access objects to text. Here's a possibility: http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='EATBloatV2.mdb' Watch the wrap. There are single quotes around the .mdb file name. Mr. E. On 5/29/07, Janet Erach wrote: > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report ? call it reportX - was being imported, I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database ? access crashes. > > 3) Running Jetcomp ? error compacting database > > 4) Create an empty database ? import everything. Although the import still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird compile > errors like 'variable not defined' or 'user defined type not defined'. This > app is so dang convoluted to begin with that I don't even know where to look > for the basis of these errors. It may even have to do with the fact that I > have not properly registered this version of the app ? the first time you > run the installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks ? > > Janet Erbach From fuller.artful at gmail.com Tue May 29 13:49:14 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 14:49:14 -0400 Subject: [AccessD] Dlookup Replacement In-Reply-To: <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> References: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> Message-ID: <29f585dd0705291149l6b0d20d4i2f07f59f4dc08671@mail.gmail.com> Thanks, Steve. On 5/29/07, Steve Erbach wrote: > > Arthur, > > I still use a set of DLookup(), DCount(), etc., replacements that I > think I found as a result of something someone here said years ago. > These replacements are called TLookup(), TCount(), etc., and were > created by T. Best back in '96. With later modifications included, > they're available at: > > http://easyweb.easynet.co.uk/~trevor/downloads/baslookup.zip > > Allen Browne's eLookup(): http://allenbrowne.com/ser-42.html > > Looks like a dba-SQLServer message dealt with this general topic, too: > > http://databaseadvisors.com/pipermail/dba-sqlserver/2003-March/000268.html > > Will those do? > > Steve Erbach > Neenah, WI > http://TheTownCrank.blogspot.com > From fuller.artful at gmail.com Tue May 29 13:53:08 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 14:53:08 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <29f585dd0705291153j27979b63p3f0e0196151461ee@mail.gmail.com> I would create a new database and import what you can, a lttle at a time. First grab the tables. Then grab the forms. Then the queries. Then the modules, all but the bad report. Finally grab the reports but don't select all; select them individually. That may fool Access. Good luck. Arthur On 5/29/07, Janet Erach wrote: > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report ? call it reportX - was being imported, > I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to > it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database ? access crashes. > > 3) Running Jetcomp ? error compacting database > > 4) Create an empty database ? import everything. Although the import > still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird > compile > errors like 'variable not defined' or 'user defined type not > defined'. This > app is so dang convoluted to begin with that I don't even know where to > look > for the basis of these errors. It may even have to do with the fact that > I > have not properly registered this version of the app ? the first time you > run the installed app, it's supposed to detect your registration status > and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks ? > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From fhtapia at gmail.com Tue May 29 13:57:55 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 29 May 2007 11:57:55 -0700 Subject: [AccessD] Cannot import from Excel Message-ID: Hi group, My co-worker received a new machine from our wonderful helpdesk... The problem is that he cannot import from excel on his Access 2003 on his desktop. For some reason, when you right click in the access (2003) window and you click on import and you get the dialog box the dropdown on the box does not list Excel. He has Office 2003 installed on his desktop, I suspect it may have something to do with him previously having Office 2000 installed and then they uninstalled it. I ran the Office detect and repair, but it did not change this at all. Thanks in advance -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From jwcolby at colbyconsulting.com Tue May 29 14:00:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 15:00:16 -0400 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <20070529190018.06916C0F1@smtp-auth.no-ip.com> Barb, One solution springs to mind. Make the tables invisible. Create one query for each table, SELECT * FROM MyTblName. Make each of these queries a snapshot. That prevents updating the data in the table, but the data can be read as normal. Having users creating adhoc forms is a recipe for disaster IMNSHO. AdHoc queries and reports are another matter. They can be based on the read only queries and voila. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Tuesday, May 29, 2007 2:34 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.access at gmail.com Tue May 29 14:12:58 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Tue, 29 May 2007 14:12:58 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> Message-ID: Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy > it. Just open it. Then, close it. I have absolutely no idea why it > sometimes > works, I just not that it does. Word of warning, it probably won't work, > and > you might want to make a copy before you do this. I've never seen opening > an > mdb in Excel hurt anything -- only if you save it as an xls file -- but > I'd > be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, > that it's still complaining about missing variables, etc. Does ReportX's > module have any code in it? Since you can't delete the module, try erasing > all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being imported, > I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to > it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird > compile > errors like 'variable not defined' or 'user defined type not > defined'. This > app is so dang convoluted to begin with that I don't even know where to > look > for the basis of these errors. It may even have to do with the fact that > I > have not properly registered this version of the app - the first time you > run the installed app, it's supposed to detect your registration status > and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From andy at minstersystems.co.uk Tue May 29 14:27:01 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Tue, 29 May 2007 20:27:01 +0100 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <007d01c7a227$55112640$c67fd355@minster33c3r25> Hi Virginia How about this? Set form to AllowAdditions but not AllowEdits. Then put a button on the main form, labelled 'Unlock' or something. The code behind button would be: Forms!frm_InventoryMain.frm_InventorySubform.Form.AllowEdits=True then somewhere like the Form's AfterUpdate for the subform you can Forms!frm_InventoryMain.frm_InventorySubform.Form.AllowEdits=False to stop further editing. But you'll have to think about what's to stop anyone clicking the button. Does everyone signon to the system? Could you only make the button visible if someone's security allows it? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Hollis, Virginia > Sent: 29 May 2007 14:42 > To: accessD at databaseadvisors.com > Subject: [AccessD] Check Subform for NotNull > > > I have a form and a subform where the users want the subform > locked if a record has been entered. They do not want it to > be changed once data has been entered. They can add new > records, just not edit existing records. > > > > Then I have the problem - 'what if they make a typo' and > discover it after the record has been entered and locked. > They only want a supervisor to be able to go back, unlock the > record on the subform and make the change. > > > > I tried the below code OnOpen of the Main form, but receive an error. > > > > If > IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.Invento > ryID) Then > > Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked > > Else > > > > End If > > > > Virginia > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From dwaters at usinternet.com Tue May 29 14:43:46 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 29 May 2007 14:43:46 -0500 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <001301c7a229$ac4880a0$0200a8c0@danwaters> Hi Barb, This assumes you are trying to protect the tables, not the data. 1) Take a look at Gary Robinson's web site: http://www.vb123.com/toolshed/04_docs/accessdb_op_security.htm I do this at two customer sites and it works well. 2) Perhaps you could upsize the BE to SQL Server 2005 Express. It's free. You can relink the FE to the tables in the BE, very similar to Access Table links. Now regular users can't open the BE to modify tables. Good Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Tuesday, May 29, 2007 1:34 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Tue May 29 14:53:34 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 29 May 2007 14:53:34 -0500 Subject: [AccessD] Access Security References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: The best method would be to use Access User Level security. I may seem complex at first, but it is very functional. Users should have the access they need on the tables, and that's it. In theory, there is no real way to prevent a user that has access to the data from opening the table. No matter what you do to the front or backend, if they have access, they can link to the BE, and open the tables directly. With User level security, they would be limited to what you have given them (read, update, insert, delete). Drew ________________________________ From: accessd-bounces at databaseadvisors.com on behalf of Barbara Ryan Sent: Tue 5/29/2007 1:33 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From martyconnelly at shaw.ca Tue May 29 15:51:09 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 29 May 2007 13:51:09 -0700 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <465C923D.5050101@shaw.ca> Here is another method called vPPC ? Virtual Password Protected Connection It has been developed for Access 2007 accdb's, where user security methods have been dropped, to rely just on a stronger password method. There is an pdf article describing it and sample mdb's for Access 2003 and 2007 I haven't field tested it though. It uses a mid-tier accdb or mdb that only contains linked tables and queries with password protection. It is from a UK firm Premier Data Technologies. http://www.pdtltd.co.uk/pdtl/technicalresources.htm Barbara Ryan wrote: >What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly > >I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. > >Thanks, >Barb Ryan > > > -- Marty Connelly Victoria, B.C. Canada From galeper at gmail.com Tue May 29 15:59:44 2007 From: galeper at gmail.com (Gale Perez) Date: Tue, 29 May 2007 13:59:44 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> Message-ID: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Hi again! I tried Steve's method as I was hoping for a quick fix. It works great, although I had a few things I wanted to do that I may not be able to with this method. One thing is that I'd like to set focus on the required field after the message, and to drop down if it's a combo box. I'd also like to replace the standard Access title in the message box with my own, and I don't know if that's possible using this method without writing a function containing the validation rule & text and the components of the message box. The third thing is a form-subform problem: I'm using a subform and although the Validation Rule works beautifully on the main form and subform once they are dirty, it allows you to move to a new main form record without filling out any of the subform fields (I guess because it only invokes the rule once it sees the record as dirty?) I tried editing one of the subform fields (a date field which is automatically entered anyway) in the main form's On Dirty and Before Update events, but it started processing the subform's Validation Rules before all of the main form's field were filled in first case and immediately gave a required field message when I move from form to subform in the second case. Have you run against this problem as well? Any thoughts woud be very appreciated. It is great to see so many ways of tackling this issue. I'm also checking out Dan's and A.D.'s suggestions. Thank you, Gale On 5/29/07, Gale Perez wrote: > > Dan, Steve, and A.D. (hope I didn't leave anyone out), > > Wow ... as always, I am amazed at how helpful this group is!! Thank you > all so much. I'm very grateful for your thoughts and am looking at your > suggestions right now. > > Gale > > > On 5/25/07, Dan Waters wrote: > > > > Hi Gale, > > > > In addition to checking for Null, you also must check for an empty > > string. > > > > If IsNull(ctl) or ctl = "" Then > > > > If you want, you can place a value in a control's Tag property, such as > > R or > > Required to designate that field as required. But if every control that > > has > > a caption is actually required, then I think your method is appropriate. > > > > > > Also, I would recommend going through this loop before an error occurs, > > if > > you can. > > > > HTH, > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > > Sent: Friday, May 25, 2007 6:24 PM > > To: accessd at databaseadvisors.com > > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > > > Hi! > > > > I have a form with several fields whose "Required" property is Yes, and > > I want to trap Error 3314 (required field) in the form_error. I would > > like > > the code to set focus on the first field that is required and null and > > display a custom message. The problem is that it isn't seeing the > > control > > as Null (so it ignores If IsNull(ctl), and just displays the customary > > message). I would greatly appreciate any advice. > > > > I am also interested in finding out if you can determine a control's > > table-level properties (e.g., required, and datatype) while in the form, > > instead of using an asterisk and looking at the label caption to do it. > > Here is the code: > > > > Dim ctl as Control > > Dim strCaption as String > > ...... > > If DataErr = 3314 Then > > For Each ctl In Me.Controls > > ' get the caption for the field label > > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > > If Left(strCaption, 1) = "*" Then 'required field > > If IsNull(ctl) Then 'it is ignoring this, not seeing the > > field as null > > ctl.SetFocus > > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > > required field." > > Response = acDataErrContinue > > Exit sub > > End If > > End If > > Next > > End if > > > > Thank you so much for any assistance, > > Gale > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/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 miscellany at mvps.org Tue May 29 16:07:25 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 30 May 2007 09:07:25 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Message-ID: <465C960D.3050707@mvps.org> Gale, Gale Perez wrote: > ... One thing is that I'd like to set focus on the required field > after the message, and to drop down if it's a combo box. I'd also like to > replace the standard Access title in the message box with my own... No, sorry, I don't believe you can do this using Validation Rule approach. As you said, "quick fix", which comes with a price. Regards Steve From BarbaraRyan at cox.net Tue May 29 16:18:40 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Tue, 29 May 2007 17:18:40 -0400 Subject: [AccessD] Access Security References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> <465C923D.5050101@shaw.ca> Message-ID: <009d01c7a236$edd08d30$0a00a8c0@PCRURI35> Thanks for all the suggestions --- I will check them out...........Barb ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Tuesday, May 29, 2007 4:51 PM Subject: Re: [AccessD] Access Security Here is another method called vPPC ? Virtual Password Protected Connection It has been developed for Access 2007 accdb's, where user security methods have been dropped, to rely just on a stronger password method. There is an pdf article describing it and sample mdb's for Access 2003 and 2007 I haven't field tested it though. It uses a mid-tier accdb or mdb that only contains linked tables and queries with password protection. It is from a UK firm Premier Data Technologies. http://www.pdtltd.co.uk/pdtl/technicalresources.htm Barbara Ryan wrote: >What is the best method to lock users out of the BE tables and (linked) FE >tables in an existing Access 2003 application? The client wants users to >be able to create ad hoc queries, forms and reports in the FE, so using an >MDE is not an option. (They do not use the separate "ad hoc" database that >I provided them :-( Only "super" users should have the capability to >access data tables directly > >I found some 3-year-old security info in the archives, but was wondering if >opinions have changed since then. > >Thanks, >Barb Ryan > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From miscellany at mvps.org Tue May 29 16:18:03 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 30 May 2007 09:18:03 +1200 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> References: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <465C988B.2020305@mvps.org> Virginia, Here is yet another idea to play with... Don't 'lock' the subform. Just require the entry of a password for editing the existing record. On the Before Update event of the subform, something like this... If Not Me.NewRecord Then If InputBox("Enter password for edit") = "xyz" Then ' proceed Else Cancel = True Me.Undo Msgbox "Incorrect password" End If End If Regards Steve Hollis, Virginia wrote: > I have a form and a subform where the users want the subform locked if a > record has been entered. They do not want it to be changed once data has > been entered. They can add new records, just not edit existing records. > > > > Then I have the problem - 'what if they make a typo' and discover it > after the record has been entered and locked. They only want a > supervisor to be able to go back, unlock the record on the subform and > make the change. > > > > I tried the below code OnOpen of the Main form, but receive an error. > > > > If > IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then > > Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked > > Else > > > > End If > > > > Virginia > From ssharkins at setel.com Tue May 29 16:54:21 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 17:54:21 -0400 Subject: [AccessD] Cannot import from Excel In-Reply-To: References: Message-ID: <002401c7a23b$ec06fe80$2534fad1@SusanOne> You're sure that he actually has Excel installed too? Susan H. Hi group, My co-worker received a new machine from our wonderful helpdesk... The problem is that he cannot import from excel on his Access 2003 on his desktop. For some reason, when you right click in the access (2003) window and you click on import and you get the dialog box the dropdown on the box does not list Excel. He has Office 2003 installed on his desktop, I suspect it may have something to do with him previously having Office 2000 installed and then they uninstalled it. I ran the Office detect and repair, but it did not change this at all. From ssharkins at setel.com Tue May 29 16:54:21 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 17:54:21 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> Message-ID: <002501c7a23b$edc4b410$2534fad1@SusanOne> >From Excel's File Open command select the mdb file you're having trouble with. It will open it. Just do NOT save it. After Excel opens the mdb file -- the entire file, not a selected table or anything like that -- close Excel. Then, try opening the mdb in Access and see what happens. I read the other responses -- about importing all the reports -- you're not manually importing ReportX into the new database are you? I thought you said you weren't, but that something drags along the report's module anyway -- is this the case? I've never seen it happen, but nothing surprises me anymore with Access. ;) Oh yeah -- on a recent blog entry I saw several people mention OpenOffice for clearing up Word corruption. I don't even know what OpenOffice is, so maybe someone here knows and can tell us it it works for Access too? That's a shot in the dark though -- I would imagine if it did, we'd have already heard about it. :) Susan H. Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy it. Just open it. Then, close it. I have absolutely no idea > why it sometimes works, I just not that it does. Word of warning, it > probably won't work, and you might want to make a copy before you do > this. I've never seen opening an mdb in Excel hurt anything -- only if > you save it as an xls file -- but I'd be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, that it's still complaining about missing variables, etc. > Does ReportX's module have any code in it? Since you can't delete the > module, try erasing all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being > imported, I hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show > up in the modules project window, and I can even view the code > attached to it; I cannot delete it, though. If I try to 'trick' the > app by creating a dummy 'ReportX' I get the message that 'ReportX' > already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet > or macro is misspelled or refers to a report that doesn't exist.' > After 4 or five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still complains about missing 'ReportX', it seems like I'm able to > successfully import everything else. But I can't run the app because > I get weird compile errors like 'variable not defined' or 'user > defined type not defined'. This app is so dang convoluted to begin > with that I don't even know where to look for the basis of these > errors. It may even have to do with the fact that I have not properly > registered this version of the app - the first time you run the > installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' > registration option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From dwaters at usinternet.com Tue May 29 17:13:32 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 29 May 2007 17:13:32 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com><000c01c79f2c$2b019590$0200a8c0@danwaters><5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Message-ID: <000901c7a23e$98b10ac0$0200a8c0@danwaters> Hi Gale, In the Enter event for a combobox, do this: If IsNull(cboList) then cboList.Dropdown End If This means that anytime the user tabs into this combobox and it's empty, the list drops down automatically (or if you use cboList.SetFocus after finding that it's required but empty). Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez Sent: Tuesday, May 29, 2007 4:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Hi again! I tried Steve's method as I was hoping for a quick fix. It works great, although I had a few things I wanted to do that I may not be able to with this method. One thing is that I'd like to set focus on the required field after the message, and to drop down if it's a combo box. I'd also like to replace the standard Access title in the message box with my own, and I don't know if that's possible using this method without writing a function containing the validation rule & text and the components of the message box. The third thing is a form-subform problem: I'm using a subform and although the Validation Rule works beautifully on the main form and subform once they are dirty, it allows you to move to a new main form record without filling out any of the subform fields (I guess because it only invokes the rule once it sees the record as dirty?) I tried editing one of the subform fields (a date field which is automatically entered anyway) in the main form's On Dirty and Before Update events, but it started processing the subform's Validation Rules before all of the main form's field were filled in first case and immediately gave a required field message when I move from form to subform in the second case. Have you run against this problem as well? Any thoughts woud be very appreciated. It is great to see so many ways of tackling this issue. I'm also checking out Dan's and A.D.'s suggestions. Thank you, Gale On 5/29/07, Gale Perez wrote: > > Dan, Steve, and A.D. (hope I didn't leave anyone out), > > Wow ... as always, I am amazed at how helpful this group is!! Thank you > all so much. I'm very grateful for your thoughts and am looking at your > suggestions right now. > > Gale > > > On 5/25/07, Dan Waters wrote: > > > > Hi Gale, > > > > In addition to checking for Null, you also must check for an empty > > string. > > > > If IsNull(ctl) or ctl = "" Then > > > > If you want, you can place a value in a control's Tag property, such as > > R or > > Required to designate that field as required. But if every control that > > has > > a caption is actually required, then I think your method is appropriate. > > > > > > Also, I would recommend going through this loop before an error occurs, > > if > > you can. > > > > HTH, > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > > Sent: Friday, May 25, 2007 6:24 PM > > To: accessd at databaseadvisors.com > > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > > > Hi! > > > > I have a form with several fields whose "Required" property is Yes, and > > I want to trap Error 3314 (required field) in the form_error. I would > > like > > the code to set focus on the first field that is required and null and > > display a custom message. The problem is that it isn't seeing the > > control > > as Null (so it ignores If IsNull(ctl), and just displays the customary > > message). I would greatly appreciate any advice. > > > > I am also interested in finding out if you can determine a control's > > table-level properties (e.g., required, and datatype) while in the form, > > instead of using an asterisk and looking at the label caption to do it. > > Here is the code: > > > > Dim ctl as Control > > Dim strCaption as String > > ...... > > If DataErr = 3314 Then > > For Each ctl In Me.Controls > > ' get the caption for the field label > > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > > If Left(strCaption, 1) = "*" Then 'required field > > If IsNull(ctl) Then 'it is ignoring this, not seeing the > > field as null > > ctl.SetFocus > > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > > required field." > > Response = acDataErrContinue > > Exit sub > > End If > > End If > > Next > > End if > > > > Thank you so much for any assistance, > > Gale > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/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 Tue May 29 18:13:10 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:13:10 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <002501c7a23b$edc4b410$2534fad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> Message-ID: <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> OpenOffice is an open-source "competitor" to MS Office, and I don't see how it figures into this discussion. I use it on my Linux box, and AFAIC it is irrelevant to this discussion. A. On 5/29/07, Susan Harkins wrote: > > >From Excel's File Open command select the mdb file you're having trouble > with. It will open it. Just do NOT save it. After Excel opens the mdb file > -- the entire file, not a selected table or anything like that -- close > Excel. Then, try opening the mdb in Access and see what happens. > > I read the other responses -- about importing all the reports -- you're > not > manually importing ReportX into the new database are you? I thought you > said > you weren't, but that something drags along the report's module anyway -- > is > this the case? I've never seen it happen, but nothing surprises me anymore > with Access. ;) > > Oh yeah -- on a recent blog entry I saw several people mention OpenOffice > for clearing up Word corruption. I don't even know what OpenOffice is, so > maybe someone here knows and can tell us it it works for Access too? > That's > a shot in the dark though -- I would imagine if it did, we'd have already > heard about it. :) > > Susan H. > > Susan - > > When you say 'open in Excel' do you mean just grab one table out of the > 50+ > that are in there? If so...I tried it, and no luck. I already tried > deleting the code attached to ReportX - and I can delete it, but then I > get > a 'save failed' error. Let me know if I misinterpreted your Excel method. > > Thanks! > > Janet > > > On 5/29/07, Susan Harkins wrote: > > > > This is going to sound really odd, but I have seen it work. Open it in > > Excel > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > destroy it. Just open it. Then, close it. I have absolutely no idea > > why it sometimes works, I just not that it does. Word of warning, it > > probably won't work, and you might want to make a copy before you do > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > you save it as an xls file -- but I'd be over-cautious. > > > > You mentioned that in the new database, where you imported all the > > objects, that it's still complaining about missing variables, etc. > > Does ReportX's module have any code in it? Since you can't delete the > > module, try erasing all the code, then repair. Just a thought. > > > > Susan H. > > > > We use a third-party database in Access 2003 in to manage our customer > and > > sales data. This morning I was importing a report from a "storage" > > database, and accidentally selected an extra report that I did not want. > > When I noticed this extra report - call it reportX - was being > > imported, I hit 'cancel'. And now my database is corrupt. > > > > ReportX does NOT show up on the reports tab. It does, however, show > > up in the modules project window, and I can even view the code > > attached to it; I cannot delete it, though. If I try to 'trick' the > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > already exists. > > > > This is what I've tried so far: > > > > 1) Decompiled the app several times, then tried to recompile. I get > > repeated errors that 'ReportX you entered in either the property sheet > > or macro is misspelled or refers to a report that doesn't exist.' > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > 2) Compact/repair the database - access crashes. > > > > 3) Running Jetcomp - error compacting database > > > > 4) Create an empty database - import everything. Although the import > > still complains about missing 'ReportX', it seems like I'm able to > > successfully import everything else. But I can't run the app because > > I get weird compile errors like 'variable not defined' or 'user > > defined type not defined'. This app is so dang convoluted to begin > > with that I don't even know where to look for the basis of these > > errors. It may even have to do with the fact that I have not properly > > registered this version of the app - the first time you run the > > installed app, it's supposed to detect your registration status and > > prompt you from there; I don't know if there is a 'manual' > > registration option. > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > Thanks - > > > > Janet Erbach > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > 5/14/2007 > > 4:46 PM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Tue May 29 18:27:16 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 19:27:16 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne><002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> Message-ID: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Saw a couple of responses from folks claiming that OpenOffice cleared up a corrupted Word file when Word wouldn't. Don't shoot me, I'm just the messenger. Susan H. OpenOffice is an open-source "competitor" to MS Office, and I don't see how it figures into this discussion. I use it on my Linux box, and AFAIC it is irrelevant to this discussion. From fuller.artful at gmail.com Tue May 29 18:33:16 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:33:16 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Message-ID: <29f585dd0705291633s47c36f82p12f6e47bb4e95e75@mail.gmail.com> Oh but Susan, I soooo like to shoot messengers LOL. On 5/29/07, Susan Harkins wrote: > > Saw a couple of responses from folks claiming that OpenOffice cleared up a > corrupted Word file when Word wouldn't. Don't shoot me, I'm just the > messenger. > > Susan H. > > OpenOffice is an open-source "competitor" to MS Office, and I don't see > how > it figures into this discussion. I use it on my Linux box, and AFAIC it is > irrelevant to this discussion. > > > -- > 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 May 29 18:53:53 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:53:53 -0400 Subject: [AccessD] Word/Access question Message-ID: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Preface: there are no stupid questions, only stupid people. Sadly, I fall into this category. I'm doing an Access app, for a WAN with issues (nuff said). It may frequently occur that the remote users cannot, for one reason or another, hit the DB residing at HQ. In this event, the client would like the remotes to fill in a Word form and email it. I'm imagining this app deployed as follows: 1. a local FE installed on every remote, all of which point to the BE available by satellite, if and when the technology is working. Apparently this is intermittent. I know nothing about this part of the app. 2. In the event that the satellite connection is unavailable, it has been mandated that the remote user should be able to fill in a Word form and email that. (Precisely how I am to handle said emails and integrate them into the system has been conveniently overlooked, but like George Smiley, I plod on.) 3. In the absence of a reliable connection to HQ, then I don't see how this can work without a local copy of the DB. I am certainly not against that, but it drags in the replication technology -- which I have used and love, but it costs hours to set up and every time I mention hours Client says "Cheaper", and when I mention "Cheap" Client says "Not enough functionality", or something like that. 4. On the Up side, there is no danger of collision on rows from the remote users. Each remoter has her own bailiwick and no other remoter will ever touch (or even see) the contents of her bailiwick. So that part is cool. I guess that I'm just wondering about the best way to handle this stuff given a WAN whose connectivity is shaky at best. I have done some WAN stuff previously, but connectivity was not a problem then. Now it is. I suppose that replication may be an answer. I've been there and done that and I'm pretty good at that approach, but that was then, and I had somehow assumed that technology had got beyond what I did in 1998. Maybe not. Maybe that old way is the way to go. Arthur From martyconnelly at shaw.ca Tue May 29 19:32:46 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 29 May 2007 17:32:46 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <465CC62E.8050500@shaw.ca> With Access 2007 you could use InfoPath XML forms that can be mailed back and forth then automagically update an Access database table via Outlook. It is an Access 2007 Tool called "Data Collection via Email" I believe Martin was looking at this last October. Arthur Fuller wrote: >Preface: there are no stupid questions, only stupid people. Sadly, I fall >into this category. > >I'm doing an Access app, for a WAN with issues (nuff said). It may >frequently occur that the remote users cannot, for one reason or another, >hit the DB residing at HQ. In this event, the client would like the remotes >to fill in a Word form and email it. > >I'm imagining this app deployed as follows: > >1. a local FE installed on every remote, all of which point to the BE >available by satellite, if and when the technology is working. Apparently >this is intermittent. I know nothing about this part of the app. > >2. In the event that the satellite connection is unavailable, it has been >mandated that the remote user should be able to fill in a Word form and >email that. (Precisely how I am to handle said emails and integrate them >into the system has been conveniently overlooked, but like George Smiley, I >plod on.) > >3. In the absence of a reliable connection to HQ, then I don't see how this >can work without a local copy of the DB. I am certainly not against that, >but it drags in the replication technology -- which I have used and love, >but it costs hours to set up and every time I mention hours Client says >"Cheaper", and when I mention "Cheap" Client says "Not enough >functionality", or something like that. > >4. On the Up side, there is no danger of collision on rows from the remote >users. Each remoter has her own bailiwick and no other remoter will ever >touch (or even see) the contents of her bailiwick. So that part is cool. > >I guess that I'm just wondering about the best way to handle this stuff >given a WAN whose connectivity is shaky at best. I have done some WAN stuff >previously, but connectivity was not a problem then. Now it is. I suppose >that replication may be an answer. I've been there and done that and I'm >pretty good at that approach, but that was then, and I had somehow assumed >that technology had got beyond what I did in 1998. Maybe not. Maybe that old >way is the way to go. > >Arthur > > -- Marty Connelly Victoria, B.C. Canada From carbonnb at gmail.com Tue May 29 19:40:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 29 May 2007 20:40:38 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Message-ID: On 5/29/07, Susan Harkins wrote: > Saw a couple of responses from folks claiming that OpenOffice cleared up a > corrupted Word file when Word wouldn't. Don't shoot me, I'm just the > messenger. OpenOffice Writer can open and save Word Docs, so I can see how it could possibly "repair" corrupt Word docs. However, OO Base (the database in OpenOffice) cannot open Access MDBs. So unfortunately not an option in this case. -- 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 fhtapia at gmail.com Tue May 29 19:53:31 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 29 May 2007 17:53:31 -0700 Subject: [AccessD] Cannot import from Excel In-Reply-To: <002401c7a23b$ec06fe80$2534fad1@SusanOne> References: <002401c7a23b$ec06fe80$2534fad1@SusanOne> Message-ID: Yes we opened a few spreadsheets to look at the data. On 5/29/07, Susan Harkins wrote: > You're sure that he actually has Excel installed too? > > Susan H. > > Hi group, > My co-worker received a new machine from our wonderful helpdesk... The > problem is that he cannot import from excel on his Access 2003 on his > desktop. For some reason, when you right click in the access (2003) window > and you click on import and you get the dialog box the dropdown on the box > does not list Excel. He has Office 2003 installed on his desktop, I suspect > it may have something to do with him previously having Office 2000 installed > and then they uninstalled it. I ran the Office detect and repair, but it > did not change this at all. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From ssharkins at setel.com Tue May 29 20:22:33 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 21:22:33 -0400 Subject: [AccessD] Cannot import from Excel In-Reply-To: References: <002401c7a23b$ec06fe80$2534fad1@SusanOne> Message-ID: <001201c7a259$0075fcf0$fb34fad1@SusanOne> Can you reinstall 2000 to see if that really is the problem? After uninstalling SQL Server 2005, Outlook went nuts. :( I've repaired, reinstalled -- no idea why uninstalling SS would impact Outlook. :( Susan H. Yes we opened a few spreadsheets to look at the data. From accessd at shaw.ca Tue May 29 20:30:50 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 29 May 2007 18:30:50 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <0JIT00EVGYN7XMP5@l-daemon> Arthur: Sounds like sending out an email message to tell everyone the email server is down. As that isn't going to work there are other possibilities. Of course there is always the old tried and true method of using synchronization. It worked for some client years ago when they were moving from office to office and would not always have a connection available. When access did become possible they would just connect their cable press their 'sync' button. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 29, 2007 4:54 PM To: Access Developers discussion and problem solving Subject: [AccessD] Word/Access question Preface: there are no stupid questions, only stupid people. Sadly, I fall into this category. I'm doing an Access app, for a WAN with issues (nuff said). It may frequently occur that the remote users cannot, for one reason or another, hit the DB residing at HQ. In this event, the client would like the remotes to fill in a Word form and email it. I'm imagining this app deployed as follows: 1. a local FE installed on every remote, all of which point to the BE available by satellite, if and when the technology is working. Apparently this is intermittent. I know nothing about this part of the app. 2. In the event that the satellite connection is unavailable, it has been mandated that the remote user should be able to fill in a Word form and email that. (Precisely how I am to handle said emails and integrate them into the system has been conveniently overlooked, but like George Smiley, I plod on.) 3. In the absence of a reliable connection to HQ, then I don't see how this can work without a local copy of the DB. I am certainly not against that, but it drags in the replication technology -- which I have used and love, but it costs hours to set up and every time I mention hours Client says "Cheaper", and when I mention "Cheap" Client says "Not enough functionality", or something like that. 4. On the Up side, there is no danger of collision on rows from the remote users. Each remoter has her own bailiwick and no other remoter will ever touch (or even see) the contents of her bailiwick. So that part is cool. I guess that I'm just wondering about the best way to handle this stuff given a WAN whose connectivity is shaky at best. I have done some WAN stuff previously, but connectivity was not a problem then. Now it is. I suppose that replication may be an answer. I've been there and done that and I'm pretty good at that approach, but that was then, and I had somehow assumed that technology had got beyond what I did in 1998. Maybe not. Maybe that old way is the way to go. Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Tue May 29 22:26:14 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Tue, 29 May 2007 20:26:14 -0700 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Late to the party here but have you tried decompile? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Tuesday, May 29, 2007 12:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy it. Just open it. Then, close it. I have absolutely no idea > why it sometimes works, I just not that it does. Word of warning, it > probably won't work, and you might want to make a copy before you do > this. I've never seen opening an mdb in Excel hurt anything -- only if > you save it as an xls file -- but I'd be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, that it's still complaining about missing variables, etc. > Does ReportX's module have any code in it? Since you can't delete the > module, try erasing all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being > imported, I hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show > up in the modules project window, and I can even view the code > attached to it; I cannot delete it, though. If I try to 'trick' the > app by creating a dummy 'ReportX' I get the message that 'ReportX' > already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet > or macro is misspelled or refers to a report that doesn't exist.' > After 4 or five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still complains about missing 'ReportX', it seems like I'm able to > successfully import everything else. But I can't run the app because > I get weird compile errors like 'variable not defined' or 'user > defined type not defined'. This app is so dang convoluted to begin > with that I don't even know where to look for the basis of these > errors. It may even have to do with the fact that I have not properly > registered this version of the app - the first time you run the > installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' > registration option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 11:40 AM From carbonnb at gmail.com Wed May 30 04:54:39 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 30 May 2007 05:54:39 -0400 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: On 5/29/07, Arthur Fuller wrote: > Preface: there are no stupid questions, only stupid people. Sadly, I fall > into this category. Which category? Stupid questions? :) > 1. a local FE installed on every remote, all of which point to the BE > available by satellite, if and when the technology is working. Apparently > this is intermittent. I know nothing about this part of the app. What if the sat link drops while the user is in the DB? Isn't that a really good way to corrupt the BE? > 2. In the event that the satellite connection is unavailable, it has been > mandated that the remote user should be able to fill in a Word form and > email that. (Precisely how I am to handle said emails and integrate them > into the system has been conveniently overlooked, but like George Smiley, I > plod on.) Have a look at http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp That should give you most of what you need to get going in this regard. If not, just ask. I've been doing Remote data collection with Word for about 8 years. > 3. In the absence of a reliable connection to HQ, then I don't see how this > can work without a local copy of the DB. I am certainly not against that, > but it drags in the replication technology -- which I have used and love, > but it costs hours to set up and every time I mention hours Client says > "Cheaper", and when I mention "Cheap" Client says "Not enough > functionality", or something like that. Good. Cheap. Fast. Give 'em the options and let 'em pick 2. -- 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 fuller.artful at gmail.com Wed May 30 05:49:25 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 06:49:25 -0400 Subject: [AccessD] Word/Access question In-Reply-To: References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> An excellent point, Bryan. I too have been there and done that, and it leads me to the conclusion that the remoters ought to have their own local copy which is synchronized whenever they succeed in a connection. I am very well acquainted with the replication technology, and I deem you correct: that is the best alternative, given the flakiness of the satellite connections. This means I need to roll out an installation, and Sage is not within budget. I have a vbScript which can do most if not all of it, so I guess I will try that and see how it works. A test case or three, load and go, see what happens. We are still in test phase, so no result can hurt the real data. It's been a while since I did Access replication, but I know the turf pretty well, so a couple of slaps in the face ought to remind me of everything I've forgotten. :) A. On 5/30/07, Bryan Carbonnell wrote: > > On 5/29/07, Arthur Fuller wrote: > > Preface: there are no stupid questions, only stupid people. Sadly, I > fall > > into this category. > > Which category? Stupid questions? :) > > > 1. a local FE installed on every remote, all of which point to the BE > > available by satellite, if and when the technology is working. > Apparently > > this is intermittent. I know nothing about this part of the app. > > What if the sat link drops while the user is in the DB? Isn't that a > really good way to corrupt the BE? > > > 2. In the event that the satellite connection is unavailable, it has > been > > mandated that the remote user should be able to fill in a Word form and > > email that. (Precisely how I am to handle said emails and integrate them > > into the system has been conveniently overlooked, but like George > Smiley, I > > plod on.) > > Have a look at > http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp > > That should give you most of what you need to get going in this > regard. If not, just ask. I've been doing Remote data collection with > Word for about 8 years. > > > 3. In the absence of a reliable connection to HQ, then I don't see how > this > > can work without a local copy of the DB. I am certainly not against > that, > > but it drags in the replication technology -- which I have used and > love, > > but it costs hours to set up and every time I mention hours Client says > > "Cheaper", and when I mention "Cheap" Client says "Not enough > > functionality", or something like that. > > Good. Cheap. Fast. Give 'em the options and let 'em pick 2. > > -- > 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 jerbach.access at gmail.com Wed May 30 08:40:53 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Wed, 30 May 2007 08:40:53 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001101c7a26a$47843bf0$0301a8c0@HAL9005> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: Susan - Thanks for clarifying the Excel method for me. I'll try that one more time. And hello, Rocky - I did try decompile, about TWENTY times. No luck. And Arthur - since this particular *!$% application has more underwear to get bundled up in than Windows itself, importing all the 'clean' items into an empty database didn't really work either. I've got good backup copies of each form report, table, etc...but I can't actually run the app as a whole because it isn't properly registered. Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to re-install the app from scratch and then import all my custom work from the 'fill the empty database' backup I've got. Thanks everyone - I'm glad to be in on this forum. Steven's been pestering me about it for a long time, and I finally got schmart and paid attention! Janet Erbach On 5/29/07, Rocky Smolin at Beach Access Software wrote: > > Late to the party here but have you tried decompile? > > Rocky > > > > > > > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Tuesday, May 29, 2007 12:13 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] How to repair corrupt database > > Susan - > > When you say 'open in Excel' do you mean just grab one table out of the > 50+ > that are in there? If so...I tried it, and no luck. I already tried > deleting the code attached to ReportX - and I can delete it, but then I > get > a 'save failed' error. Let me know if I misinterpreted your Excel method. > > Thanks! > > Janet > > > On 5/29/07, Susan Harkins wrote: > > > > This is going to sound really odd, but I have seen it work. Open it in > > Excel > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > destroy it. Just open it. Then, close it. I have absolutely no idea > > why it sometimes works, I just not that it does. Word of warning, it > > probably won't work, and you might want to make a copy before you do > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > you save it as an xls file -- but I'd be over-cautious. > > > > You mentioned that in the new database, where you imported all the > > objects, that it's still complaining about missing variables, etc. > > Does ReportX's module have any code in it? Since you can't delete the > > module, try erasing all the code, then repair. Just a thought. > > > > Susan H. > > > > We use a third-party database in Access 2003 in to manage our customer > and > > sales data. This morning I was importing a report from a "storage" > > database, and accidentally selected an extra report that I did not want. > > When I noticed this extra report - call it reportX - was being > > imported, I hit 'cancel'. And now my database is corrupt. > > > > ReportX does NOT show up on the reports tab. It does, however, show > > up in the modules project window, and I can even view the code > > attached to it; I cannot delete it, though. If I try to 'trick' the > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > already exists. > > > > This is what I've tried so far: > > > > 1) Decompiled the app several times, then tried to recompile. I get > > repeated errors that 'ReportX you entered in either the property sheet > > or macro is misspelled or refers to a report that doesn't exist.' > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > 2) Compact/repair the database - access crashes. > > > > 3) Running Jetcomp - error compacting database > > > > 4) Create an empty database - import everything. Although the import > > still complains about missing 'ReportX', it seems like I'm able to > > successfully import everything else. But I can't run the app because > > I get weird compile errors like 'variable not defined' or 'user > > defined type not defined'. This app is so dang convoluted to begin > > with that I don't even know where to look for the basis of these > > errors. It may even have to do with the fact that I have not properly > > registered this version of the app - the first time you run the > > installed app, it's supposed to detect your registration status and > > prompt you from there; I don't know if there is a 'manual' > > registration option. > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > Thanks - > > > > Janet Erbach > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > 5/14/2007 > > 4:46 PM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 > 11:40 AM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Lambert.Heenan at AIG.com Wed May 30 08:56:08 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Wed, 30 May 2007 09:56:08 -0400 Subject: [AccessD] Cannot import from Excel Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> Take a look here. I think you'll find response #2 is the solution. http://www.computing.net/office/wwwboard/forum/1005.html Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 29, 2007 8:54 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Cannot import from Excel Yes we opened a few spreadsheets to look at the data. On 5/29/07, Susan Harkins wrote: > You're sure that he actually has Excel installed too? > > Susan H. > > Hi group, > My co-worker received a new machine from our wonderful helpdesk... The > problem is that he cannot import from excel on his Access 2003 on his > desktop. For some reason, when you right click in the access (2003) > window and you click on import and you get the dialog box the dropdown > on the box does not list Excel. He has Office 2003 installed on his > desktop, I suspect it may have something to do with him previously > having Office 2000 installed and then they uninstalled it. I ran the > Office detect and repair, but it did not change this at all. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.access at gmail.com Wed May 30 09:09:51 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Wed, 30 May 2007 09:09:51 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: Hey everybody - I ended up re-installing, but it wasn't to painful - because the install exe file actually had a 'repair' option!! So the corruption has been taken care of, and I've re-imported all my custom stuff. And from now on I faithfully swear to make backups on a daily basis. Honest. Janet On 5/30/07, Janet Erbach wrote: > > Susan - Thanks for clarifying the Excel method for me. I'll try that one > more time. > > And hello, Rocky - I did try decompile, about TWENTY times. No luck. > > And Arthur - since this particular *!$% application has more underwear to > get bundled up in than Windows itself, importing all the 'clean' items into > an empty database didn't really work either. I've got good backup copies of > each form report, table, etc...but I can't actually run the app as a whole > because it isn't properly registered. > > Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to > re-install the app from scratch and then import all my custom work from the > 'fill the empty database' backup I've got. > > Thanks everyone - I'm glad to be in on this forum. Steven's been > pestering me about it for a long time, and I finally got schmart and paid > attention! > > Janet Erbach > > > > On 5/29/07, Rocky Smolin at Beach Access Software > wrote: > > > > Late to the party here but have you tried decompile? > > > > Rocky > > > > > > > > > > > > > > > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > > Sent: Tuesday, May 29, 2007 12:13 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] How to repair corrupt database > > > > Susan - > > > > When you say 'open in Excel' do you mean just grab one table out of the > > 50+ > > that are in there? If so...I tried it, and no luck. I already tried > > deleting the code attached to ReportX - and I can delete it, but then I > > get > > a 'save failed' error. Let me know if I misinterpreted your Excel > > method. > > > > Thanks! > > > > Janet > > > > > > On 5/29/07, Susan Harkins wrote: > > > > > > This is going to sound really odd, but I have seen it work. Open it in > > > > > Excel > > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > > destroy it. Just open it. Then, close it. I have absolutely no idea > > > why it sometimes works, I just not that it does. Word of warning, it > > > probably won't work, and you might want to make a copy before you do > > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > > you save it as an xls file -- but I'd be over-cautious. > > > > > > You mentioned that in the new database, where you imported all the > > > objects, that it's still complaining about missing variables, etc. > > > Does ReportX's module have any code in it? Since you can't delete the > > > module, try erasing all the code, then repair. Just a thought. > > > > > > Susan H. > > > > > > We use a third-party database in Access 2003 in to manage our customer > > and > > > sales data. This morning I was importing a report from a "storage" > > > database, and accidentally selected an extra report that I did not > > want. > > > When I noticed this extra report - call it reportX - was being > > > imported, I hit 'cancel'. And now my database is corrupt. > > > > > > ReportX does NOT show up on the reports tab. It does, however, show > > > up in the modules project window, and I can even view the code > > > attached to it; I cannot delete it, though. If I try to 'trick' the > > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > > already exists. > > > > > > This is what I've tried so far: > > > > > > 1) Decompiled the app several times, then tried to recompile. I get > > > repeated errors that 'ReportX you entered in either the property sheet > > > or macro is misspelled or refers to a report that doesn't exist.' > > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > > > 2) Compact/repair the database - access crashes. > > > > > > 3) Running Jetcomp - error compacting database > > > > > > 4) Create an empty database - import everything. Although the import > > > still complains about missing 'ReportX', it seems like I'm able to > > > successfully import everything else. But I can't run the app because > > > I get weird compile errors like 'variable not defined' or 'user > > > defined type not defined'. This app is so dang convoluted to begin > > > with that I don't even know where to look for the basis of these > > > errors. It may even have to do with the fact that I have not properly > > > registered this version of the app - the first time you run the > > > installed app, it's supposed to detect your registration status and > > > prompt you from there; I don't know if there is a 'manual' > > > registration option. > > > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > > > Thanks - > > > > > > Janet Erbach > > > -- > > > AccessD mailing list > > > AccessD at databaseadvisors.com > > > http://databaseadvisors.com/mailman/listinfo/accessd > > > Website: http://www.databaseadvisors.com > > > > > > Internal Virus Database is out-of-date. > > > Checked by AVG Free Edition. > > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > > 5/14/2007 > > > 4:46 PM > > > > > > > > > -- > > > AccessD mailing list > > > AccessD at databaseadvisors.com > > > http://databaseadvisors.com/mailman/listinfo/accessd > > > Website: http://www.databaseadvisors.com > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 > > > > 11:40 AM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > From jwcolby at colbyconsulting.com Wed May 30 09:46:23 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 10:46:23 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <20070530144625.5E0ABBF97@smtp-auth.no-ip.com> >And from now on I faithfully swear to make backups on a daily basis. Honest. Yea yea yea. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Wednesday, May 30, 2007 10:10 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database Hey everybody - I ended up re-installing, but it wasn't to painful - because the install exe file actually had a 'repair' option!! So the corruption has been taken care of, and I've re-imported all my custom stuff. And from now on I faithfully swear to make backups on a daily basis. Honest. Janet From rockysmolin at bchacc.com Wed May 30 09:48:42 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Wed, 30 May 2007 07:48:42 -0700 Subject: [AccessD] Outlook - Allow Access Message-ID: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky From JHewson at karta.com Wed May 30 09:49:45 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 30 May 2007 09:49:45 -0500 Subject: [AccessD] Tab Control Locking In-Reply-To: <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25><6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> Message-ID: <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> Kostas, I prefer to hide the tab versus hide all the controls. In design view, click on one of the tabs In tab (Page) control properties... under format change visible to No. When the person enters the correct password - turn visible to yes. Me.PageName.Visible = True ' I prefer to use the page name vs the page index. HTH Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas Konstantinidis Sent: Tuesday, May 29, 2007 12:39 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Tab Control Locking Hi Jim.. sorry for thedelay to your quickly response but it happened because of a big crash in my PC (I have already bought a new one...) hmm that's what I need for... but I don't know how to do it.. many many thank's /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 6:01 PM Subject: Re: [AccessD] Tab Control Locking > > You could also hide the controls on the tab until the password is correct. > Hide the controls by default then when the password is correct unhide > them. > > Jim > jhewson at karta.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Saturday, May 26, 2007 1:41 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Tab Control Locking > > Hi Kostas > I think you'll need to lock all of the controls within a tab rather than > the > tab itself. A simple way to do this is to drop a subform on the tab and > put > all of your controls in that. Then you need only set the subform locked > and > unlocked. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Kostas Konstantinidis >> Sent: 25 May 2007 10:22 >> To: Access Developers discussion and problem solving >> Subject: [AccessD] Tab Control Locking >> >> >> Hi group, >> is that possible to lock a tab control form asking when cliking for a >> password? >> >> many 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 fuller.artful at gmail.com Wed May 30 09:53:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 10:53:47 -0400 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> Think Bob Marley. Redemption Song, to be specific. The library you want is Redemption. You can lose the Song part :) On 5/30/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > A while back I ran into the problem of automating Outlook from Access and > getting the Outlook message about allowing the program access to Outlook > for > a certain number of minutes. I found a program on the web which disabled > this message but I can't find the program or the link. > > I think I may have gotten the lead from this list but the archives are > down > so I can't check. > > Does anyone remember the name of that routine? > > MTIA > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From cfoust at infostatsystems.com Wed May 30 09:57:21 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 30 May 2007 07:57:21 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: Besides Redemption, I think ClickYes has been used for this. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 7:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From pharold at proftesting.com Wed May 30 10:14:41 2007 From: pharold at proftesting.com (Perry L Harold) Date: Wed, 30 May 2007 11:14:41 -0400 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D15E@EXCHANGE.ptiorl.local> Express ClickYes sits in the tray and answers the questions allowing Outlook access without the user having to click any buttons. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- 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 May 30 10:18:57 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 11:18:57 -0400 Subject: [AccessD] Go to today Message-ID: <29f585dd0705300818m592f6e3ue97118caf71963ee@mail.gmail.com> It's been a while since I've done an Access FE and I'm rusty. Here's the situation. There's a table whose data includes stuff from a few years back and up to mid-next-year (events, already-occurred and scheduled to occur). I want to open the form on the closest date >= today. There is also a filter, by Employee. The form begins with all Employees but should you elect to set the filter, then it's scoped by selected Emp. But I still want the date thing to work. In the combo-box for Emp filter there's a union with an "All" case at the top, which choice simply wipes out the existing filter on Emps (if any). I do NOT want to filter out the events prior to today. I just want to open the form at today or the nearest date beyond today, and I also want to respect the Emp filter. Advice? TIA, Rusty old Arthur, who has been spending way too much time in SQL Server to remember all these fancy shenanigans. :) From bhjohnson at verizon.net Wed May 30 10:39:45 2007 From: bhjohnson at verizon.net (Bruce H. Johnson) Date: Wed, 30 May 2007 08:39:45 -0700 Subject: [AccessD] Outlook - Allow Access -- Redemption In-Reply-To: <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> Message-ID: <01fe01c7a2d0$c03f4e20$0201a8c0@HALSR> I got the Redemption distribution version and it works just as advertised. Gotten three or four (free) updates since then. Bruce H. Johnson Sylmar, CA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 7:54 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Outlook - Allow Access Think Bob Marley. Redemption Song, to be specific. The library you want is Redemption. You can lose the Song part :) On 5/30/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > A while back I ran into the problem of automating Outlook from Access and > getting the Outlook message about allowing the program access to Outlook > for > a certain number of minutes. I found a program on the web which disabled > this message but I can't find the program or the link. > > I think I may have gotten the lead from this list but the archives are > down > so I can't check. > > Does anyone remember the name of that routine? > > MTIA > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From rockysmolin at bchacc.com Wed May 30 10:41:00 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Wed, 30 May 2007 08:41:00 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D15E@EXCHANGE.ptiorl.local> Message-ID: <000d01c7a2d0$ecfa9190$0301a8c0@HAL9005> Click Yes. That was it. Thanks Perry and Charlotte. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Perry L Harold Sent: Wednesday, May 30, 2007 8:15 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Outlook - Allow Access Express ClickYes sits in the tray and answers the questions allowing Outlook access without the user having to click any buttons. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From wdhindman at dejpolsystems.com Wed May 30 11:31:07 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 12:31:07 -0400 Subject: [AccessD] How to repair corrupt database References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> "And from now on I faithfully swear to make backups on a daily basis. Honest." Janet ...you say it ...but you don't really mean it ...none of us do ...not until you automate the backup will it really, really get done ...been there, eh :) William Hindman ----- Original Message ----- From: "Janet Erbach" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 10:09 AM Subject: Re: [AccessD] How to repair corrupt database > Hey everybody - I ended up re-installing, but it wasn't to painful - > because > the install exe file actually had a 'repair' option!! So the corruption > has > been taken care of, and I've re-imported all my custom stuff. And from > now > on I faithfully swear to make backups on a daily basis. Honest. > > Janet > > > On 5/30/07, Janet Erbach wrote: >> >> Susan - Thanks for clarifying the Excel method for me. I'll try that one >> more time. >> >> And hello, Rocky - I did try decompile, about TWENTY times. No luck. >> >> And Arthur - since this particular *!$% application has more underwear >> to >> get bundled up in than Windows itself, importing all the 'clean' items >> into >> an empty database didn't really work either. I've got good backup copies >> of >> each form report, table, etc...but I can't actually run the app as a >> whole >> because it isn't properly registered. >> >> Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to >> re-install the app from scratch and then import all my custom work from >> the >> 'fill the empty database' backup I've got. >> >> Thanks everyone - I'm glad to be in on this forum. Steven's been >> pestering me about it for a long time, and I finally got schmart and paid >> attention! >> >> Janet Erbach >> >> >> >> On 5/29/07, Rocky Smolin at Beach Access Software >> >> wrote: >> > >> > Late to the party here but have you tried decompile? >> > >> > Rocky >> > >> > >> > >> > >> > >> > >> > >> > >> > -----Original Message----- >> > From: accessd-bounces at databaseadvisors.com >> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach >> > Sent: Tuesday, May 29, 2007 12:13 PM >> > To: Access Developers discussion and problem solving >> > Subject: Re: [AccessD] How to repair corrupt database >> > >> > Susan - >> > >> > When you say 'open in Excel' do you mean just grab one table out of the >> > 50+ >> > that are in there? If so...I tried it, and no luck. I already tried >> > deleting the code attached to ReportX - and I can delete it, but then I >> > get >> > a 'save failed' error. Let me know if I misinterpreted your Excel >> > method. >> > >> > Thanks! >> > >> > Janet >> > >> > >> > On 5/29/07, Susan Harkins wrote: >> > > >> > > This is going to sound really odd, but I have seen it work. Open it >> > > in >> > >> > > Excel >> > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally >> > > destroy it. Just open it. Then, close it. I have absolutely no idea >> > > why it sometimes works, I just not that it does. Word of warning, it >> > > probably won't work, and you might want to make a copy before you do >> > > this. I've never seen opening an mdb in Excel hurt anything -- only >> > > if >> > > you save it as an xls file -- but I'd be over-cautious. >> > > >> > > You mentioned that in the new database, where you imported all the >> > > objects, that it's still complaining about missing variables, etc. >> > > Does ReportX's module have any code in it? Since you can't delete the >> > > module, try erasing all the code, then repair. Just a thought. >> > > >> > > Susan H. >> > > >> > > We use a third-party database in Access 2003 in to manage our >> > > customer >> > and >> > > sales data. This morning I was importing a report from a "storage" >> > > database, and accidentally selected an extra report that I did not >> > want. >> > > When I noticed this extra report - call it reportX - was being >> > > imported, I hit 'cancel'. And now my database is corrupt. >> > > >> > > ReportX does NOT show up on the reports tab. It does, however, show >> > > up in the modules project window, and I can even view the code >> > > attached to it; I cannot delete it, though. If I try to 'trick' the >> > > app by creating a dummy 'ReportX' I get the message that 'ReportX' >> > > already exists. >> > > >> > > This is what I've tried so far: >> > > >> > > 1) Decompiled the app several times, then tried to recompile. I get >> > > repeated errors that 'ReportX you entered in either the property >> > > sheet >> > > or macro is misspelled or refers to a report that doesn't exist.' >> > > After 4 or five of those, I get 'Compile error: Module not found'. >> > > >> > > 2) Compact/repair the database - access crashes. >> > > >> > > 3) Running Jetcomp - error compacting database >> > > >> > > 4) Create an empty database - import everything. Although the import >> > > still complains about missing 'ReportX', it seems like I'm able to >> > > successfully import everything else. But I can't run the app because >> > > I get weird compile errors like 'variable not defined' or 'user >> > > defined type not defined'. This app is so dang convoluted to begin >> > > with that I don't even know where to look for the basis of these >> > > errors. It may even have to do with the fact that I have not >> > > properly >> > > registered this version of the app - the first time you run the >> > > installed app, it's supposed to detect your registration status and >> > > prompt you from there; I don't know if there is a 'manual' >> > > registration option. >> > > >> > > Is there anything else I can do to save the database? ANYTHING?? >> > > >> > > Thanks - >> > > >> > > Janet Erbach >> > > -- >> > > AccessD mailing list >> > > AccessD at databaseadvisors.com >> > > http://databaseadvisors.com/mailman/listinfo/accessd >> > > Website: http://www.databaseadvisors.com >> > > >> > > Internal Virus Database is out-of-date. >> > > Checked by AVG Free Edition. >> > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: >> > > 5/14/2007 >> > > 4:46 PM >> > > >> > > >> > > -- >> > > AccessD mailing list >> > > AccessD at databaseadvisors.com >> > > http://databaseadvisors.com/mailman/listinfo/accessd >> > > Website: http://www.databaseadvisors.com >> > > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/accessd >> > Website: http://www.databaseadvisors.com >> > >> > No virus found in this incoming message. >> > Checked by AVG Free Edition. >> > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: >> > 5/28/2007 >> > >> > 11:40 AM >> > >> > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/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 markamatte at hotmail.com Wed May 30 11:38:07 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 30 May 2007 16:38:07 +0000 Subject: [AccessD] Cannot import from Excel In-Reply-To: Message-ID: I don't have A2003 in front of me...but I know that some versions in the past did not load all file types...depending on your type of install. I know in A97...when you bring up the dialouge to import...there is a message at the bottom that tells you "you can run setup to add other file types". I know the company I work for did not have TEXT files as choices with their installs...and I had them run setup to choose all file types. Good luck, Mark A. Matte >From: "Francisco Tapia" >Reply-To: Access Developers discussion and problem >solving >To: access-l at peach.ease.lsoft.com, "Access Developers discussion and >problem solving" >Subject: [AccessD] Cannot import from Excel >Date: Tue, 29 May 2007 11:57:55 -0700 > >Hi group, >My co-worker received a new machine from our wonderful helpdesk... The >problem is that he cannot import from excel on his Access 2003 on his >desktop. For some reason, when you right click in the access (2003) window >and you click on import and you get the dialog box the dropdown on the box >does not list Excel. He has Office 2003 installed on his desktop, I >suspect >it may have something to do with him previously having Office 2000 >installed >and then they uninstalled it. I ran the Office detect and repair, but it >did not change this at all. > > >Thanks in advance > >-- >-Francisco >http://sqlthis.blogspot.com | Tsql and More... >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From fuller.artful at gmail.com Wed May 30 11:45:09 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 12:45:09 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> Message-ID: <29f585dd0705300945y2c6253d9r34758be6f81864a9@mail.gmail.com> God what a weird thought. The Hindman becoming a Canadian. Don't we have border protection? Eh? On 5/30/07, William Hindman wrote: > > "And from now > on I faithfully swear to make backups on a daily basis. Honest." Janet > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > William Hindman > From ssharkins at setel.com Wed May 30 11:52:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 30 May 2007 12:52:58 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> Message-ID: <000c01c7a2da$faade8a0$5b32fad1@SusanOne> ...you say it ...but you don't really mean it ...none of us do ...not until you automate the backup will it really, really get done ...been there, eh :) =========I am trying to be more faithful about this. Word recently ate a manuscript just as I'd completed it. I hadn't had time to save it to removeable and I hadn't bothered to do so before. Then, BAM! The computer locked up and I had to push the button. Couldn't open the file in Word using either of it's repair options. It was toast. Used WordPad and got the text, but lost the footnotes, etc. It didn't take long to rebuild the notes as WordPad displayed underscores in the text in lieu of the note numbers and at the end of the file were all the notes' text, in order. Still, it was a pia and a reminder to be more deligent. Susan H. From fuller.artful at gmail.com Wed May 30 12:02:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 13:02:07 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000c01c7a2da$faade8a0$5b32fad1@SusanOne> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> <000c01c7a2da$faade8a0$5b32fad1@SusanOne> Message-ID: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> JC is right. Like riding a bicycle... you have to remove it from the conscious part of your mind. a Dual-layer DVD sitting in the burner and a scheduled differential backup and the occasional replacement of the DVD. Note to self: read what you just recommended, idiot, and do as you say. A. On 5/30/07, Susan Harkins wrote: > > > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate a > manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It was > toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't take > long to rebuild the notes as WordPad displayed underscores in the text in > lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 30 13:21:38 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 14:21:38 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> Message-ID: <20070530182139.2C512C011@smtp-auth.no-ip.com> >Note to self: read what you just recommended, idiot, and do as you say. Note to self: Do what Arthur recommended. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database JC is right. Like riding a bicycle... you have to remove it from the conscious part of your mind. a Dual-layer DVD sitting in the burner and a scheduled differential backup and the occasional replacement of the DVD. Note to self: read what you just recommended, idiot, and do as you say. A. On 5/30/07, Susan Harkins wrote: > > > > ...you say it ...but you don't really mean it ...none of us do ...not > until you automate the backup will it really, really get done ...been > there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate > a manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It > was toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't > take long to rebuild the notes as WordPad displayed underscores in the > text in lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > 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 ssharkins at setel.com Wed May 30 13:47:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 30 May 2007 14:47:58 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <20070530182139.2C512C011@smtp-auth.no-ip.com> References: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> <20070530182139.2C512C011@smtp-auth.no-ip.com> Message-ID: <000301c7a2eb$0d02cc90$c332fad1@SusanOne> I wish someone would tell me how. :) Better yet, I wish someone would just come to my house and do it for me! ;) How was the conference? Susan H. >Note to self: read what you just recommended, idiot, and do as you say. Note to self: Do what Arthur recommended. ;-) From fuller.artful at gmail.com Wed May 30 14:06:18 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 15:06:18 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <20070530182139.2C512C011@smtp-auth.no-ip.com> References: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> <20070530182139.2C512C011@smtp-auth.no-ip.com> Message-ID: <29f585dd0705301206m43b31402o35abca4f52b70bad@mail.gmail.com> ROTFL JC. On 5/30/07, jwcolby wrote: > > >Note to self: read what you just recommended, idiot, and do as you say. > > Note to self: Do what Arthur recommended. > > ;-) > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From dwaters at usinternet.com Wed May 30 14:10:02 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 30 May 2007 14:10:02 -0500 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <001501c7a2ee$215a4a30$0200a8c0@danwaters> Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kismert at gmail.com Wed May 30 14:15:45 2007 From: kismert at gmail.com (Ken Ismert) Date: Wed, 30 May 2007 14:15:45 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465DCD61.9030806@gmail.com> The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken From jwcolby at colbyconsulting.com Wed May 30 14:38:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 15:38:15 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> Message-ID: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Boy will there be a BUNCH of companies not upgrading beyond that! How many apps are out there coded in vba? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Wednesday, May 30, 2007 3:16 PM To: accessd at databaseadvisors.com Subject: [AccessD] VBA abandoned in Office 2008 for Mac The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken -- 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 May 30 14:49:51 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 15:49:51 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> That is most definitely a significant shoe. I'm glad that I started looking elsewhere for income opportunities. A. On 5/30/07, Ken Ismert wrote: > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged to > use Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From mfisch4 at capex.com.ar Wed May 30 15:04:56 2007 From: mfisch4 at capex.com.ar (MF) Date: Wed, 30 May 2007 17:04:56 -0300 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Message-ID: <200705302002.l4UK2tJO016437@databaseadvisors.com> What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count? MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken From fuller.artful at gmail.com Wed May 30 15:15:43 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 16:15:43 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Message-ID: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office > suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises > for VBA support in the future, Mac developers are encouraged to use > Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 May 30 15:17:02 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 16:17:02 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <200705302002.l4UK2tJO016437@databaseadvisors.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <200705302002.l4UK2tJO016437@databaseadvisors.com> Message-ID: <29f585dd0705301317i72d67ab8l556598f031d6abf4@mail.gmail.com> Two years max. On 5/30/07, MF wrote: > > What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count? > > MF > From markamatte at hotmail.com Wed May 30 15:24:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 30 May 2007 20:24:57 +0000 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> Message-ID: Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started looking >elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > > Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are encouraged to > > use Applescript instead. > > > > Access developers have to at least consider the possibility that Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From ebarro at verizon.net Wed May 30 15:31:25 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 30 May 2007 13:31:25 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: Message-ID: <0JIV00E92FOETXA5@vms040.mailsrvcs.net> Shouldn't the question be..."What does it mean for those who rely on Access and VBA?" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 30, 2007 1:25 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started >looking elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its > > latest Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are > > encouraged to use Applescript instead. > > > > Access developers have to at least consider the possibility that > > Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- From pharold at proftesting.com Wed May 30 15:56:05 2007 From: pharold at proftesting.com (Perry L Harold) Date: Wed, 30 May 2007 16:56:05 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D163@EXCHANGE.ptiorl.local> Why don't you just say what you feel? Just added 4 laptops from Dell and had all set up with XP & O2003. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged > to use Applescript instead. > > Access developers have to at least consider the possibility that > Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cjlabs at worldnet.att.net Wed May 30 15:53:52 2007 From: cjlabs at worldnet.att.net (Carolyn Johnson) Date: Wed, 30 May 2007 15:53:52 -0500 Subject: [AccessD] adhScaleForm - use with subforms References: <0JIV00E92FOETXA5@vms040.mailsrvcs.net> Message-ID: <003001c7a2fc$a30635e0$6601a8c0@XPcomputer> Access2000, WinXP I have been using adhScaleForm in my database without a problem until now -- trying to change subforms. I have a subform with a tab control. Depending on a field on the main form, the pages of the tab control vary. There are 5 possible values on the main form, each one resulting in a different set of 5 pages on the tab control. The simplest approach (in theory) seems to be to have 5 different subforms -- the appropriate subform for the main field control is assigned as the source object on the Form_Current property as the value changes. My problem is that I need to resize the subform as it becomes the new source object on the main form. If I run the adhScaleForm code from the subform when it opens as the new source object, I get an error that SetFormSize is not available, the subform IS resized, but it is in the wrong location. Has anyone dealt with the adhScaleForm code and switching subforms? Obviously, another option is to have all the pages on one tab control and make only the relevant ones visible, based on the main form, but each page has a fair amount of code associated with it, and it seems simpler to keep them separate, if I can solve the resizing issue. TIA, Carolyn Johnson From cjlabs at worldnet.att.net Wed May 30 15:56:40 2007 From: cjlabs at worldnet.att.net (Carolyn Johnson) Date: Wed, 30 May 2007 15:56:40 -0500 Subject: [AccessD] adhScaleForm - use with subforms correction Message-ID: <000701c7a2fd$06e89580$6601a8c0@XPcomputer> It's the SizeToFitForm code that is not available when I try to call the adhScaleForm from the subform. Carolyn Johnson From jimdettman at verizon.net Wed May 30 16:02:47 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 30 May 2007 17:02:47 -0400 Subject: [AccessD] Contact Database Design III. Message-ID: <000901c7a2fd$e116ec70$8abea8c0@XPS> Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. From wdhindman at dejpolsystems.com Wed May 30 16:11:41 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 17:11:41 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <005401c7a2ff$1f4a1f20$7d7d6c4c@jisshowsbs.local> ...Arthur doing JC ...not bad for an amateur, eh :) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 4:15 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >I wonder how many users are revolting against (revolted by) the Ribbon > thing? What I can say is that it took about 15 minutes for me to find the > most basic commands in Word. I HATE this ribbon s**t. At the very least, > Office ought to recognize the keystrokes we seasoned folk have learned > eons > ago. For example, Alt+T = Table. Why do I have to fart around and look for > these commands, when MS itself has schooled me into thinking this or that > keystroke is the way to get there? > > Apparently, newbies like this ribbon s**t. Great. In a few more months > I'll > be eligible for retirement and then Kiss This, Bill! I'd rather watch > Nadal > try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! > Six months and I'm gone except for hobbyist play. The person who thought > of > ribbons will surely go down the same flush as the person who thought of > the > stupid little doggie helper. Sheesh. I feel sorry for that person. > Probably > just did what he was told, ended up the most despised programmer in the > history of Windows. However, perhaps the inventor of ribbons will take his > place as the most despised programmer in the history of Windows. > > I could be quite wrong about this. I have heard more than one newbie say > how > cool this ribbon thing is. Commands that have been available since God > Knows > When are now right there on the ribbon. Yeah, great. Meanwhile it took me > half an hour to deduce how to insert a row into a table. Why in the name > of > God is this command on the Format menu? Which particular Redmond Einstein > thought to place this command there? What does "Insert a row into a table" > have even remotely to do with "Format"? > > There are clearly lots of brain-dead people in the state of Washington. > The > one who thought to place that command there, the boss who authorized it, > and > so on up the chain of command. Perhaps there has been an influx of cocaine > or some other mind-altering drug into Redmond. > > Let us be fair. If anything, I try to be democratic. Let's start with the > traditional menu plus all the ribbon stuff. Let's allow the use to > suppress > either of these. Let's respect, even in the event that you suppress the > traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, > etc.) > > So let's call spades spades: Office 2007 sucks. Vista sucks. I have the > former installed but shall remove it this weekend. Fortunately I had the > foresight to save nothing on O2K7 format, so when I remove it I will still > be able to read all the files. > > I have yet to hear one positive experience from a Vista user. Apparently > it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. > Unceremoniously quits should you try anything like backing up a DVD movie. > > As for me, I have had quite enough of this s**t from Redmond. I'm out of > the > MS loop. Open Office and Google Apps do most everything I need. Open > Office's Base is pretty close to Access, though not quite there. Ubuntu is > way nicer than Vista, and it runs on some of my admittedly lame hardware. > > Earth to Redmond: you are running out of reasons for us to stick around. > > A. > > > On 5/30/07, jwcolby wrote: >> >> Boy will there be a BUNCH of companies not upgrading beyond that! How >> many >> apps are out there coded in vba? >> >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.com >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >> Sent: Wednesday, May 30, 2007 3:16 PM >> To: accessd at databaseadvisors.com >> Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> The first shoe has dropped: Microsoft has abandoned VBA in its latest >> Office >> suite for the Macintosh: >> >> Mac Users Face Hurdles with New Office Versions >> http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 >> >> Although there is a converter tool for older Office documents, with >> promises >> for VBA support in the future, Mac developers are encouraged to use >> Applescript instead. >> >> Access developers have to at least consider the possibility that Office >> 2007 will be the last version of Office that will natively run VBA. >> >> -Ken >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/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 May 30 16:11:14 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 30 May 2007 17:11:14 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <001101c7a2ff$0ef7f5c0$8abea8c0@XPS> Ken, If not VBA, what will it run? I'm not sure that the article indicates what everyone is thinking; that this is the end of VBA. It just says that Microsoft doesn't want to support VBA on the Mac. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Wednesday, May 30, 2007 3:16 PM To: accessd at databaseadvisors.com Subject: [AccessD] VBA abandoned in Office 2008 for Mac The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From askolits at ot.com Wed May 30 16:20:02 2007 From: askolits at ot.com (John Skolits) Date: Wed, 30 May 2007 17:20:02 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <200705302002.l4UK2tJO016437@databaseadvisors.com> Message-ID: <01fc01c7a300$493c8920$0f01a8c0@officexp> "What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count?" Based on the many legacy systems I see that still rely on the Dos operating systems, it will be a long time. Below 50%? 4-5 years. But, it all scares me a bit since Access as a front end and also VBA are my primary tools of development. Time to start changing careers? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF Sent: Wednesday, May 30, 2007 4:05 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Wed May 30 16:50:35 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 17:50:35 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting macros, not a development language supporting extensive database development ...so the opt-out in favor of Apple Script is really a move on their part to make MS Office/Mac "more" Mac friendly ...and has zero implications for the future of VBA on its own platform ...imnsho, of course. William Hindman ----- Original Message ----- From: "John Skolits" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 5:20 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count?" > > Based on the many legacy systems I see that still rely on the Dos > operating > systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my > primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Wed May 30 17:35:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 30 May 2007 15:35:42 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <465DFC3E.6020606@shaw.ca> There are a lot of reasons for dropping VBA One being Mac's are now Intel based. An Intel chip based Mac can run a virtual version of XP and Office. Office 2007 can run in Parallel Coherence mode. You can convert VBA to Apple Script Here is the technical reason from MS MacBusinessUnit for dropping VBA http://www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/ You have no idea just how ancient VBA really is... The "mummy's curse" that killed Lord Carnarvon during the excavation of King Tut's tomb was actually a VBA script. Ken Ismert wrote: >The first shoe has dropped: Microsoft has abandoned VBA in its latest >Office suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with >promises for VBA support in the future, Mac developers are encouraged to >use Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken > > -- Marty Connelly Victoria, B.C. Canada From fhtapia at gmail.com Wed May 30 17:59:28 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Wed, 30 May 2007 15:59:28 -0700 Subject: [AccessD] Cannot import from Excel In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> Message-ID: We tried solution #1 and #2 completely uninstalling and re-installing Office 2003 to no avail. The helpdesk is now re-imaging the machine from scratch as other builds do not have this issue. Thanks to all who helped :) -- Francisco On 5/30/07, Heenan, Lambert wrote: > > Take a look here. I think you'll find response #2 is the solution. > > http://www.computing.net/office/wwwboard/forum/1005.html > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 29, 2007 8:54 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Cannot import from Excel > > > Yes we opened a few spreadsheets to look at the data. > > > On 5/29/07, Susan Harkins wrote: > > You're sure that he actually has Excel installed too? > > > > Susan H. > > > > Hi group, > > My co-worker received a new machine from our wonderful helpdesk... The > > problem is that he cannot import from excel on his Access 2003 on his > > desktop. For some reason, when you right click in the access (2003) > > window and you click on import and you get the dialog box the dropdown > > on the box does not list Excel. He has Office 2003 installed on his > > desktop, I suspect it may have something to do with him previously > > having Office 2000 installed and then they uninstalled it. I ran the > > Office detect and repair, but it did not change this at all. > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From dwaters at usinternet.com Wed May 30 20:56:30 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 30 May 2007 20:56:30 -0500 Subject: [AccessD] Get Database Size in Code? Message-ID: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Is there code whereby an Access db can determine what its own size is? Thanks! Dan From prodevmg at yahoo.com Wed May 30 21:43:57 2007 From: prodevmg at yahoo.com (Lonnie Johnson) Date: Wed, 30 May 2007 19:43:57 -0700 (PDT) Subject: [AccessD] Get Database Size in Code? Message-ID: <444637.32193.qm@web33102.mail.mud.yahoo.com> Try this... Dim LenOfFile as Long LenOfFile = FileLen(CurrentDb.Name) May God bless you beyond your imagination! Lonnie Johnson ProDev, Professional Development of MS Access Databases Visit me at ==> http://www.prodev.us ----- Original Message ---- From: Dan Waters To: Access Developers discussion and problem solving Sent: Wednesday, May 30, 2007 8:56:30 PM Subject: [AccessD] Get Database Size in Code? Is there code whereby an Access db can determine what its own size is? Thanks! Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ____________________________________________________________________________________Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting From kost36 at otenet.gr Thu May 31 01:31:16 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Thu, 31 May 2007 09:31:16 +0300 Subject: [AccessD] Tab Control Locking In-Reply-To: <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25><6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com><128ED29B1D0C4920AA783BECC6E0551B@kost36PC> <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> Message-ID: <7571A5645DBC421781DF7DA86A811A3C@kost36PC> Jim, thank's a lot /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 5:49 PM Subject: Re: [AccessD] Tab Control Locking > Kostas, > I prefer to hide the tab versus hide all the controls. > In design view, click on one of the tabs > In tab (Page) control properties... under format change visible to No. > When the person enters the correct password - turn visible to yes. > > Me.PageName.Visible = True ' I prefer to use the page name vs the page > index. > > HTH > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas > Konstantinidis > Sent: Tuesday, May 29, 2007 12:39 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Tab Control Locking > > Hi Jim.. > sorry for thedelay to your quickly response > but it happened because of a big crash in my PC (I have already bought a > new > one...) > hmm that's what I need for... but I don't know how to do it.. > many many thank's > /kostas > > > ----- Original Message ----- > From: "Jim Hewson" > To: "Access Developers discussion and problem solving" > > Sent: Saturday, May 26, 2007 6:01 PM > Subject: Re: [AccessD] Tab Control Locking > > >> >> You could also hide the controls on the tab until the password is >> correct. >> Hide the controls by default then when the password is correct unhide >> them. >> >> Jim >> jhewson at karta.com >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey >> Sent: Saturday, May 26, 2007 1:41 AM >> To: 'Access Developers discussion and problem solving' >> Subject: Re: [AccessD] Tab Control Locking >> >> Hi Kostas >> I think you'll need to lock all of the controls within a tab rather than >> the >> tab itself. A simple way to do this is to drop a subform on the tab and >> put >> all of your controls in that. Then you need only set the subform locked >> and >> unlocked. >> >> -- Andy Lacey >> http://www.minstersystems.co.uk >> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com >>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >>> Kostas Konstantinidis >>> Sent: 25 May 2007 10:22 >>> To: Access Developers discussion and problem solving >>> Subject: [AccessD] Tab Control Locking >>> >>> >>> Hi group, >>> is that possible to lock a tab control form asking when cliking for a >>> password? >>> >>> many 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > __________ NOD32 2298 (20070530) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > > From lembit.dbamail at t-online.de Thu May 31 07:29:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Thu, 31 May 2007 14:29:50 +0200 Subject: [AccessD] How to repair corrupt database References: <001101c7a26a$47843bf0$0301a8c0@HAL9005><001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> <000c01c7a2da$faade8a0$5b32fad1@SusanOne> Message-ID: <000a01c7a37f$62fd9af0$1800a8c0@s1800> Some years I buildt a small script which does that for me. I used ClickExe, which I think may not be available other than in Germany since it uses German words for commands (otherwise I would not mind giving it to DBA). Also, it is pretty simple and probably much easier to do with some .net or such. It uses a little Access 97 db to buld ini files. I use this for an Excel worksheet which I update almost daily. I keep the last 5 copies as backup. When I want to open that worksheet, I open the script instead, which opens the worksheet for me. when I close the worksheet, the script checks whether it was updated and only if so, it will delete the oldest backup, then shift all the others up and copy the newest one into the youngest backup slot. I am using it for several different worksheets and pick them from alist when I open the script. I planned to use it for Access db development as well, however I have not yet extended the script to handle more than one file (need FE and BE at least to back up). I think this idea would be helpfull for making automated backups for Access and other files, once put into a better program than this ClickExe, which is very cumersome to handle. Anyway, if somebody likes to start on it and wants that script, or the Access db, no problem, just let me know. Lembit ----- Original Message ----- From: "Susan Harkins" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 6:52 PM Subject: Re: [AccessD] How to repair corrupt database > > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate a > manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It was > toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't take > long to rebuild the notes as WordPad displayed underscores in the text in > lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 30.05.2007 > 15:03 > > From markamatte at hotmail.com Thu May 31 09:16:30 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 31 May 2007 14:16:30 +0000 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <005401c7a2ff$1f4a1f20$7d7d6c4c@jisshowsbs.local> Message-ID: >...Arthur doing JC ...not bad for an amateur, eh :) Now THAT'S funny!!!. >From: "William Hindman" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 17:11:41 -0400 > >...Arthur doing JC ...not bad for an amateur, eh :) > >William Hindman > >----- Original Message ----- >From: "Arthur Fuller" >To: "Access Developers discussion and problem solving" > >Sent: Wednesday, May 30, 2007 4:15 PM >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > >I wonder how many users are revolting against (revolted by) the Ribbon > > thing? What I can say is that it took about 15 minutes for me to find >the > > most basic commands in Word. I HATE this ribbon s**t. At the very least, > > Office ought to recognize the keystrokes we seasoned folk have learned > > eons > > ago. For example, Alt+T = Table. Why do I have to fart around and look >for > > these commands, when MS itself has schooled me into thinking this or >that > > keystroke is the way to get there? > > > > Apparently, newbies like this ribbon s**t. Great. In a few more months > > I'll > > be eligible for retirement and then Kiss This, Bill! I'd rather watch > > Nadal > > try to come up with something to beat Fedderer. Earth to MS: Ribbons >SUCK! > > Six months and I'm gone except for hobbyist play. The person who thought > > of > > ribbons will surely go down the same flush as the person who thought of > > the > > stupid little doggie helper. Sheesh. I feel sorry for that person. > > Probably > > just did what he was told, ended up the most despised programmer in the > > history of Windows. However, perhaps the inventor of ribbons will take >his > > place as the most despised programmer in the history of Windows. > > > > I could be quite wrong about this. I have heard more than one newbie say > > how > > cool this ribbon thing is. Commands that have been available since God > > Knows > > When are now right there on the ribbon. Yeah, great. Meanwhile it took >me > > half an hour to deduce how to insert a row into a table. Why in the name > > of > > God is this command on the Format menu? Which particular Redmond >Einstein > > thought to place this command there? What does "Insert a row into a >table" > > have even remotely to do with "Format"? > > > > There are clearly lots of brain-dead people in the state of Washington. > > The > > one who thought to place that command there, the boss who authorized it, > > and > > so on up the chain of command. Perhaps there has been an influx of >cocaine > > or some other mind-altering drug into Redmond. > > > > Let us be fair. If anything, I try to be democratic. Let's start with >the > > traditional menu plus all the ribbon stuff. Let's allow the use to > > suppress > > either of these. Let's respect, even in the event that you suppress the > > traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, > > etc.) > > > > So let's call spades spades: Office 2007 sucks. Vista sucks. I have the > > former installed but shall remove it this weekend. Fortunately I had the > > foresight to save nothing on O2K7 format, so when I remove it I will >still > > be able to read all the files. > > > > I have yet to hear one positive experience from a Vista user. Apparently > > it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. > > Unceremoniously quits should you try anything like backing up a DVD >movie. > > > > As for me, I have had quite enough of this s**t from Redmond. I'm out of > > the > > MS loop. Open Office and Google Apps do most everything I need. Open > > Office's Base is pretty close to Access, though not quite there. Ubuntu >is > > way nicer than Vista, and it runs on some of my admittedly lame >hardware. > > > > Earth to Redmond: you are running out of reasons for us to stick around. > > > > A. > > > > > > On 5/30/07, jwcolby wrote: > >> > >> Boy will there be a BUNCH of companies not upgrading beyond that! How > >> many > >> apps are out there coded in vba? > >> > >> > >> John W. Colby > >> Colby Consulting > >> www.ColbyConsulting.com > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > >> Sent: Wednesday, May 30, 2007 3:16 PM > >> To: accessd at databaseadvisors.com > >> Subject: [AccessD] VBA abandoned in Office 2008 for Mac > >> > >> > >> The first shoe has dropped: Microsoft has abandoned VBA in its latest > >> Office > >> suite for the Macintosh: > >> > >> Mac Users Face Hurdles with New Office Versions > >> >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >> > >> Although there is a converter tool for older Office documents, with > >> promises > >> for VBA support in the future, Mac developers are encouraged to use > >> Applescript instead. > >> > >> Access developers have to at least consider the possibility that Office > >> 2007 will be the last version of Office that will natively run VBA. > >> > >> -Ken > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/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 _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Thu May 31 09:21:48 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 31 May 2007 14:21:48 +0000 Subject: [AccessD] Get Database Size in Code? In-Reply-To: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Message-ID: Dan, How about something like: Dim dsize As Long dsize = FileLen(CurrentDb().Name) / 1000 Thanks, Mark A. Matte >From: "Dan Waters" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Get Database Size in Code? >Date: Wed, 30 May 2007 20:56:30 -0500 > >Is there code whereby an Access db can determine what its own size is? > >Thanks! >Dan > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From adtp at hotmail.com Thu May 31 09:33:33 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 31 May 2007 20:03:33 +0530 Subject: [AccessD] Go to today References: <29f585dd0705300818m592f6e3ue97118caf71963ee@mail.gmail.com> Message-ID: Arthur, Subroutine P_GoToNearestToToday(), as given below, can be placed in form's module and called as required. It will ensure that you land up at today's date or the next higher one if there is no entry for today's date. If there is no entry for date >= today, you will land up at the date earlier than but closest to today, which, in such a situation, will simply be the last record. Note: (a) RDate is the presumed name of date field. (b) It is presumed that dates are sorted in ascending order. Best wishes, A.D.Tejpal --------------- ==================================== Private Sub P_GoToNearestToToday() On Error Resume Next Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.FindFirst "RDate >= #" & _ Format(Date, "mm/dd/yyyy") & "#" If rst.NoMatch Then rst.MoveLast End If Me.Bookmark = rst.Bookmark rst.Close Set rst = Nothing End Sub ==================================== ----- Original Message ----- From: Arthur Fuller To: Access Developers discussion and problem solving Sent: Wednesday, May 30, 2007 20:48 Subject: [AccessD] Go to today It's been a while since I've done an Access FE and I'm rusty. Here's the situation. There's a table whose data includes stuff from a few years back and up to mid-next-year (events, already-occurred and scheduled to occur). I want to open the form on the closest date >= today. There is also a filter, by Employee. The form begins with all Employees but should you elect to set the filter, then it's scoped by selected Emp. But I still want the date thing to work. In the combo-box for Emp filter there's a union with an "All" case at the top, which choice simply wipes out the existing filter on Emps (if any). I do NOT want to filter out the events prior to today. I just want to open the form at today or the nearest date beyond today, and I also want to respect the Emp filter. Advice? TIA, Rusty old Arthur, who has been spending way too much time in SQL Server to remember all these fancy shenanigans. :) From cfoust at infostatsystems.com Thu May 31 09:54:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 07:54:16 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> Message-ID: The move is toward managed code, meaning .Net, I think. There's a fairly steep learning curve there, but I think Access VBA users have an advantage in moving to .Net, especially if they have experience with ADO. *WARNING*: poorly designed data schemas are not improved by .Net. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 30, 2007 1:25 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started >looking elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its > > latest Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are > > encouraged to use Applescript instead. > > > > Access developers have to at least consider the possibility that > > Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them-with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr ation_HM_mini_protection_0507 From cfoust at infostatsystems.com Thu May 31 09:59:57 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 07:59:57 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: I think the simple answer is that all of us who are experienced with Office development have grown used to the somewhat standard menus in the various Office apps and find the ribbon downright frustrating and the so-called context-sensitivity infuriating. I particularly resent being coerced into using the darn thing with no choice in the matter. Like you, I've struggled to find the means to do simple things, not just in Access but in Word, for heaven's sake! I suspect they used a focus group of Mac users to decide which things belonged on which ribbon, because I always found the Mac OS just as frustrating, although newbies seem to find it intuitive, too. Maybe we're just getting old, Arthur ... Nah!! ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged > to use Applescript instead. > > Access developers have to at least consider the possibility that > Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 10:07:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:07:54 -0700 Subject: [AccessD] Contact Database Design III. In-Reply-To: <000901c7a2fd$e116ec70$8abea8c0@XPS> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: You can always justify whatever design you use, Jim. I once had a boiling argument with a SQL guru at a conference because he insisted that social security numbers change so rarely they can be used as a PK. My argument was "rarely" is not the same as "never". His was "it's close enough". I always look at what I might need to do with the data. I worked for a direct marketing firm at one time and designed databases for them. They loved the speed and simplicity of flat database design they had been using, but their clients wanted all sorts of statistical reports that simply couldn't be extracted from the data except through laboriously mangling the data in Excel or importing it into an Access database and then building a normalized schema for reporting. They finally realized that the important thing was how quickly they could get the information OUT of the data, not how fast they could enter records. Disclaimer: your mileage may vary. ;-} Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 2:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 31 10:09:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:09:28 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <01fc01c7a300$493c8920$0f01a8c0@officexp> References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: Start thinking of Access as a middle tier or back end and look to .Net, Windows or Web-based, for an FE. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 30, 2007 2:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac "What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count?" Based on the many legacy systems I see that still rely on the Dos operating systems, it will be a long time. Below 50%? 4-5 years. But, it all scares me a bit since Access as a front end and also VBA are my primary tools of development. Time to start changing careers? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF Sent: Wednesday, May 30, 2007 4:05 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 10:10:55 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:10:55 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> Message-ID: Hmmn ... And the ribbon is a move to make Office "more" user friendly and Mac-like. Sounds like an implication to me .... ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 30, 2007 2:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting macros, not a development language supporting extensive database development ...so the opt-out in favor of Apple Script is really a move on their part to make MS Office/Mac "more" Mac friendly ...and has zero implications for the future of VBA on its own platform ...imnsho, of course. William Hindman ----- Original Message ----- From: "John Skolits" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 5:20 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count?" > > Based on the many legacy systems I see that still rely on the Dos > operating > systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my > primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S TR4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 kismert at gmail.com Thu May 31 11:19:13 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 31 May 2007 11:19:13 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465EF581.1030401@gmail.com> (Mark) > Pardon my ignorance...but what does this mean for Access??? > Almost everything I do in Access relies on VBA? Well, it means, sooner or later, that you will either have to content yourself with the dwindling VBA legacy market, learn the new languages and development platform that run under the new Access, or learn completely new skills and move to some other market. (Jim) > If not VBA, what will it run? I'm not sure that the article indicates > what everyone is thinking; that this is the end of VBA. It just says that > Microsoft doesn't want to support VBA on the Mac. The new Office, including Access, will run under .NET. MS has been pushing the .NET-based replacement for VBA for some time. This is also the main technical reason Applescript is being pushed for Mac Office: the .NET framework doesn't run on OS X. In the article, some Apple dude plainly states that MS will sunset VBA some years hence on Windows versions of Office. Now, that's not an official pronouncement, but it is worth noting. MS might delay the demise of VBA if they get significant pushback (but really, what are the chances of them listening to their base?), but with certainty, they will do away with VBA. I think most of us will wind up following Charlotte's path, and use .NET to develop db apps, with or without Access. I chose PHP/MySQL/Linux, mostly because that's where my job took me, and partly because I'm lazy and that stuff has a much lower learning curve. (Marty) > The "mummy's curse" that killed Lord Carnarvon during the > excavation of King Tut's tomb was actually a VBA script. That's hilarious! (Arthur) > I HATE this ribbon s**t. That ribbon is MS's 'New Coke': it is carefully user-tested, and ignores the desires and wishes of the vast bulk of their audience. Time will tell if it suffers the same fate as New Coke. -Ken From mmattys at rochester.rr.com Thu May 31 11:29:34 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Thu, 31 May 2007 12:29:34 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: <003801c7a3a0$e1409770$0602a8c0@Laptop> The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 12:00:38 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 10:00:38 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <003801c7a3a0$e1409770$0602a8c0@Laptop> References: <200705302002.l4UK2tJO016437@databaseadvisors.com><01fc01c7a300$493c8920$0f01a8c0@officexp> <003801c7a3a0$e1409770$0602a8c0@Laptop> Message-ID: I think they mean most of 2007. Access 2007 is still pretty much VBA-bound. The ribbon, etc., is customizable from code. I suspect they may be talking about the next releases. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 9:30 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S T >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 ewaldt at gdls.com Thu May 31 12:33:10 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Thu, 31 May 2007 13:33:10 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From ebarro at verizon.net Thu May 31 12:43:31 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 31 May 2007 10:43:31 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: <0JIX00I2O2KGIK84@vms044.mailsrvcs.net> Everything will come under the .NET umbrella. M$ isn't abandoning their flagship programming language (VB) anytime soon. Since the .NET framework isn't supported on the Mac anyway it makes sense to drop VBA so people can transition to VB.NET. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of ewaldt at gdls.com Sent: Thursday, May 31, 2007 10:33 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Thu May 31 12:49:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 13:49:30 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: <20070531174931.C91E6BDE0@smtp-auth.no-ip.com> >if they drop VBA, Excel loses its edge. Not if: A) They include .net as an alternative B) The current VBA programmers migrate. VBA is a lot easier to use, especially since the editor is built right into the environment (Access / Excel / Word). I give MS credit for FINALLY pushing out DOS/Old windows compatibility decades after they finally quit producing those products. I think it is fair to assume that they will eventually do the same with VBA. They have given us programmers a fair amount of time to migrate. Many of us (myself included) still have not. Some people require a FIRM push to force us to change. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of ewaldt at gdls.com Sent: Thursday, May 31, 2007 1:33 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Thu May 31 12:55:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 13:55:56 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: <20070531175559.982DCBD3A@smtp-auth.no-ip.com> Having a FK in the table for the type makes sense. Having a bit field seems rather limiting and harder to filter for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 5:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 31 13:31:59 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:31:59 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <003801c7a3a0$e1409770$0602a8c0@Laptop> References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> <003801c7a3a0$e1409770$0602a8c0@Laptop> Message-ID: <005e01c7a3b1$fa55bbd0$8abea8c0@XPS> Hey, did you catch the title? Looks like you get to use Vista whether you like it or not.... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 12:30 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Thu May 31 13:39:59 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:39:59 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: References: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: <006501c7a3b3$18915680$8abea8c0@XPS> Charlotte, I was just surprised that a book about an RDBMS from a very well known author would have a sample database that most would call poor. The bit flags really threw me. I'd never use separate fields for something that should be in a single state. To easy for the flags to get screwed up. Mainly I thought this would be interesting to pass along as there seems to be quite a few different viewpoints on it. As for the design I'll be using; well it's myself and the client that has to live with it. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 31, 2007 11:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. You can always justify whatever design you use, Jim. I once had a boiling argument with a SQL guru at a conference because he insisted that social security numbers change so rarely they can be used as a PK. My argument was "rarely" is not the same as "never". His was "it's close enough". I always look at what I might need to do with the data. I worked for a direct marketing firm at one time and designed databases for them. They loved the speed and simplicity of flat database design they had been using, but their clients wanted all sorts of statistical reports that simply couldn't be extracted from the data except through laboriously mangling the data in Excel or importing it into an Access database and then building a normalized schema for reporting. They finally realized that the important thing was how quickly they could get the information OUT of the data, not how fast they could enter records. Disclaimer: your mileage may vary. ;-} Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 2:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. 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 jimdettman at verizon.net Thu May 31 13:41:33 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:41:33 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531175559.982DCBD3A@smtp-auth.no-ip.com> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> Message-ID: <006901c7a3b3$5087d0a0$8abea8c0@XPS> John, Yes, the bit field is what really threw me. I can't understand why it was not done as a single field. Seems to be a really poor design. I'd love to talk to him sometime about how and why it made it into the book that way. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 31, 2007 1:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Contact Database Design III. Having a FK in the table for the type makes sense. Having a bit field seems rather limiting and harder to filter for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 5:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. 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 jwcolby at colbyconsulting.com Thu May 31 13:46:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 14:46:56 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <005e01c7a3b1$fa55bbd0$8abea8c0@XPS> Message-ID: <20070531184657.D0BB5BC02@smtp-auth.no-ip.com> And did you actually read that stuff? I have never seen so much text used to impart so little information. I'm assuming that you have to go to college for many years to learn to write such flowery gushing saynothing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Thursday, May 31, 2007 2:32 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Hey, did you catch the title? Looks like you get to use Vista whether you like it or not.... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 12:30 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 newsgrps at dalyn.co.nz Thu May 31 14:08:45 2007 From: newsgrps at dalyn.co.nz (David Emerson) Date: Fri, 01 Jun 2007 07:08:45 +1200 Subject: [AccessD] Contact Database Design III. In-Reply-To: <006901c7a3b3$5087d0a0$8abea8c0@XPS> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> <006901c7a3b3$5087d0a0$8abea8c0@XPS> Message-ID: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why it was >not done as a single field. Seems to be a really poor design. I'd love to >talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field seems >rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in regards >to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul >Nielsen as one of my reference books sitting on the shelf. Happened to >notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the contact >type is signified by flags. A contact can be a customer, employee, or >vendor. Customers have a lookup for customer type, which is referenced in >determining the discount." > > Literally he has three bit flag fields in the record to indicate if it is >a customer, employee, or vendor contact. It also includes name fields and a >company name, so the contact can be a person, a company, or a person at a >company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs one >for individuals and one for companies. Even before I had seen the above, I >was leaning towards going back to a single table. I'll let you know what >approach I finally choose when I get to it and any pitfalls that ensue as a >result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 31 14:17:33 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 15:17:33 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> <006901c7a3b3$5087d0a0$8abea8c0@XPS> <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <008a01c7a3b8$57ea95d0$8abea8c0@XPS> David, Yes, that could certainly be an explanation. Unfortunately, there is no application provided that goes against this database, so there is no way to tell if that would be allowed or not. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Thursday, May 31, 2007 3:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why it was >not done as a single field. Seems to be a really poor design. I'd love to >talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field seems >rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in regards >to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul >Nielsen as one of my reference books sitting on the shelf. Happened to >notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the contact >type is signified by flags. A contact can be a customer, employee, or >vendor. Customers have a lookup for customer type, which is referenced in >determining the discount." > > Literally he has three bit flag fields in the record to indicate if it is >a customer, employee, or vendor contact. It also includes name fields and a >company name, so the contact can be a person, a company, or a person at a >company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs one >for individuals and one for companies. Even before I had seen the above, I >was leaning towards going back to a single table. I'll let you know what >approach I finally choose when I get to it and any pitfalls that ensue as a >result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/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 miscellany at mvps.org Thu May 31 14:40:58 2007 From: miscellany at mvps.org (Steve Schapel) Date: Fri, 01 Jun 2007 07:40:58 +1200 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <465F24CA.4010005@mvps.org> Ken, Ken Ismert wrote: > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. This is not even a remote possibility. I am certain that VBA will be alive and well in Access 14. Regards Steve From martyconnelly at shaw.ca Thu May 31 15:58:40 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 13:58:40 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465F24CA.4010005@mvps.org> References: <465DCD61.9030806@gmail.com> <465F24CA.4010005@mvps.org> Message-ID: <465F3700.1060605@shaw.ca> There is no Access 13 due to Triskaidekaphobia However Clint Covington doesn't mention dropping VBA for version 14. He is periphally on the design team. https://blogs.msdn.com/clintcovington/archive/2007/01/23/what-features-do-you-want-in-access-14.aspx Steve Schapel wrote: >Ken, > >Ken Ismert wrote: > > >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >> > >This is not even a remote possibility. I am certain that VBA will be >alive and well in Access 14. > >Regards >Steve > > -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Thu May 31 17:36:04 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 15:36:04 -0700 Subject: [AccessD] FW: Removing quotes Message-ID: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky From ssharkins at setel.com Thu May 31 17:52:10 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 18:52:10 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> References: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Message-ID: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> Can't you delete the quotes in the original file? -- I'm trying to think of a Find Replace pattern that might work -- how about Space " And " space That would catch every " at the beginning of a word and after -- would help I would think. Might not get everything, but might get enough that you could visually catch the rest. Susan H. Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM From wdhindman at dejpolsystems.com Thu May 31 18:00:41 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 19:00:41 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> Message-ID: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> ...lol ...the "ribbon" is just plain dumb ...period. :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:10 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Hmmn ... And the ribbon is a move to make Office "more" user friendly > and Mac-like. Sounds like an implication to me .... ;-> > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > Hindman > Sent: Wednesday, May 30, 2007 2:51 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > macros, not a development language supporting extensive database > development ...so the opt-out in favor of Apple Script is really a move > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > implications for the future of VBA on its own platform ...imnsho, of > course. > > William Hindman > > ----- Original Message ----- > From: "John Skolits" > To: "'Access Developers discussion and problem solving'" > > Sent: Wednesday, May 30, 2007 5:20 PM > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > >> "What you guys think is the number of years that it will take for the >> number of those actually using VBA to drop below 50% of the >> present count?" >> >> Based on the many legacy systems I see that still rely on the Dos >> operating >> systems, it will be a long time. Below 50%? 4-5 years. >> >> But, it all scares me a bit since Access as a front end and also VBA > are >> my >> primary tools of development. Time to start changing careers? >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >> Sent: Wednesday, May 30, 2007 4:05 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> MF >> >> >> >> ______________________________ >> At 04:38 PM 30/05/2007, you wrote: >>>Boy will there be a BUNCH of companies not upgrading beyond that! > How >> many >>>apps are out there coded in vba? >>> >>> >>>John W. Colby >>>Colby Consulting >>>www.ColbyConsulting.com >>>-----Original Message----- >>>From: accessd-bounces at databaseadvisors.com >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>>Sent: Wednesday, May 30, 2007 3:16 PM >>>To: accessd at databaseadvisors.com >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >>> >>> >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >> Office >>>suite for the Macintosh: >>> >>>Mac Users Face Hurdles with New Office Versions >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 >>> >>>Although there is a converter tool for older Office documents, with >> promises >>>for VBA support in the future, Mac developers are encouraged to use >>>Applescript instead. >>> >>>Access developers have to at least consider the possibility that > Office >>>2007 will be the last version of Office that will natively run VBA. >>> >>>-Ken >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 18:01:48 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 16:01:48 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> Message-ID: Can't argue with that, William. LOL Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Thursday, May 31, 2007 4:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac ...lol ...the "ribbon" is just plain dumb ...period. :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:10 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Hmmn ... And the ribbon is a move to make Office "more" user friendly > and Mac-like. Sounds like an implication to me .... ;-> > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > Hindman > Sent: Wednesday, May 30, 2007 2:51 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > macros, not a development language supporting extensive database > development ...so the opt-out in favor of Apple Script is really a move > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > implications for the future of VBA on its own platform ...imnsho, of > course. > > William Hindman From fuller.artful at gmail.com Thu May 31 18:09:03 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 31 May 2007 19:09:03 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> Message-ID: <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> I am not quite so hasty as you, William. I just wish that I could find the commands that I regularly use. I am most willing to accept that newbies think the ribbon is cool, but I just want to issue the familiar keystrokes and get where I want to go. I can't believe that I wasted an hour trying to deduce how to insert a row into a table. Who in the world woulda thunk that command would reside on the Format menu? What the hell does that have to do with format? I'm out of here soon, except for hobbyist reasons. I shall probably hang around for a few years, for hobbyist reasons. But I'm too old for this s**t anymore. A. On 5/31/07, William Hindman wrote: > > ...lol ...the "ribbon" is just plain dumb ...period. :) > William Hindman > ----- Original Message ----- > From: "Charlotte Foust" > To: "Access Developers discussion and problem solving" > > Sent: Thursday, May 31, 2007 11:10 AM > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > Hmmn ... And the ribbon is a move to make Office "more" user friendly > > and Mac-like. Sounds like an implication to me .... ;-> > > > > Charlotte Foust > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > > Hindman > > Sent: Wednesday, May 30, 2007 2:51 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > > macros, not a development language supporting extensive database > > development ...so the opt-out in favor of Apple Script is really a move > > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > > implications for the future of VBA on its own platform ...imnsho, of > > course. > > > > William Hindman > > > > ----- Original Message ----- > > From: "John Skolits" > > To: "'Access Developers discussion and problem solving'" > > > > Sent: Wednesday, May 30, 2007 5:20 PM > > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > > >> "What you guys think is the number of years that it will take for the > >> number of those actually using VBA to drop below 50% of the > >> present count?" > >> > >> Based on the many legacy systems I see that still rely on the Dos > >> operating > >> systems, it will be a long time. Below 50%? 4-5 years. > >> > >> But, it all scares me a bit since Access as a front end and also VBA > > are > >> my > >> primary tools of development. Time to start changing careers? > >> > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > >> Sent: Wednesday, May 30, 2007 4:05 PM > >> To: Access Developers discussion and problem solving > >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > >> > >> > >> MF > >> > >> > >> > >> ______________________________ > >> At 04:38 PM 30/05/2007, you wrote: > >>>Boy will there be a BUNCH of companies not upgrading beyond that! > > How > >> many > >>>apps are out there coded in vba? > >>> > >>> > >>>John W. Colby > >>>Colby Consulting > >>>www.ColbyConsulting.com > >>>-----Original Message----- > >>>From: accessd-bounces at databaseadvisors.com > >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > >>>Sent: Wednesday, May 30, 2007 3:16 PM > >>>To: accessd at databaseadvisors.com > >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac > >>> > >>> > >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest > >> Office > >>>suite for the Macintosh: > >>> > >>>Mac Users Face Hurdles with New Office Versions > >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > > TR4 > >>> > >>>Although there is a converter tool for older Office documents, with > >> promises > >>>for VBA support in the future, Mac developers are encouraged to use > >>>Applescript instead. > >>> > >>>Access developers have to at least consider the possibility that > > Office > >>>2007 will be the last version of Office that will natively run VBA. > >>> > >>>-Ken > >> > >> > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 18:08:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 16:08:54 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> References: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Message-ID: Import with no delimiters, than append to a new table or update but use the Mid function to get all but the first and last characters, which would be quotes. Then you can do a replace to replace all Chr(34) with chr(39). Alternatively, import it into a Word table first and do your search and replace there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Thursday, May 31, 2007 3:36 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FW: Removing quotes Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Thu May 31 18:30:52 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 19:30:52 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local><002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> Message-ID: <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> ...I am not at all "hasty" Arthur ...I too spent way too much time looking for the basics before it dawned on me that the ribbon "designers" were more interested in being "cool" than in being productive ...exit Access12 stage left ...right along with bloody Vista. ...afaic, Access12 is just continuing evidence that MS is congenitally incapable of producing sequential versions of Access that real developers actually adapt enmasse ...count me as patiently awaiting Access14, eh :) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 7:09 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >I am not quite so hasty as you, William. I just wish that I could find the > commands that I regularly use. I am most willing to accept that newbies > think the ribbon is cool, but I just want to issue the familiar keystrokes > and get where I want to go. > I can't believe that I wasted an hour trying to deduce how to insert a row > into a table. Who in the world woulda thunk that command would reside on > the > Format menu? What the hell does that have to do with format? > > I'm out of here soon, except for hobbyist reasons. I shall probably hang > around for a few years, for hobbyist reasons. But I'm too old for this > s**t > anymore. > > A. > > > On 5/31/07, William Hindman wrote: >> >> ...lol ...the "ribbon" is just plain dumb ...period. :) >> William Hindman >> ----- Original Message ----- >> From: "Charlotte Foust" >> To: "Access Developers discussion and problem solving" >> >> Sent: Thursday, May 31, 2007 11:10 AM >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> > Hmmn ... And the ribbon is a move to make Office "more" user friendly >> > and Mac-like. Sounds like an implication to me .... ;-> >> > >> > Charlotte Foust >> > >> > -----Original Message----- >> > From: accessd-bounces at databaseadvisors.com >> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William >> > Hindman >> > Sent: Wednesday, May 30, 2007 2:51 PM >> > To: Access Developers discussion and problem solving >> > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> > >> > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting >> > macros, not a development language supporting extensive database >> > development ...so the opt-out in favor of Apple Script is really a move >> > on their part to make MS Office/Mac "more" Mac friendly ...and has zero >> > implications for the future of VBA on its own platform ...imnsho, of >> > course. >> > >> > William Hindman >> > >> > ----- Original Message ----- >> > From: "John Skolits" >> > To: "'Access Developers discussion and problem solving'" >> > >> > Sent: Wednesday, May 30, 2007 5:20 PM >> > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> > >> > >> >> "What you guys think is the number of years that it will take for the >> >> number of those actually using VBA to drop below 50% of the >> >> present count?" >> >> >> >> Based on the many legacy systems I see that still rely on the Dos >> >> operating >> >> systems, it will be a long time. Below 50%? 4-5 years. >> >> >> >> But, it all scares me a bit since Access as a front end and also VBA >> > are >> >> my >> >> primary tools of development. Time to start changing careers? >> >> >> >> -----Original Message----- >> >> From: accessd-bounces at databaseadvisors.com >> >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >> >> Sent: Wednesday, May 30, 2007 4:05 PM >> >> To: Access Developers discussion and problem solving >> >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> >> >> >> MF >> >> >> >> >> >> >> >> ______________________________ >> >> At 04:38 PM 30/05/2007, you wrote: >> >>>Boy will there be a BUNCH of companies not upgrading beyond that! >> > How >> >> many >> >>>apps are out there coded in vba? >> >>> >> >>> >> >>>John W. Colby >> >>>Colby Consulting >> >>>www.ColbyConsulting.com >> >>>-----Original Message----- >> >>>From: accessd-bounces at databaseadvisors.com >> >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >> >>>Sent: Wednesday, May 30, 2007 3:16 PM >> >>>To: accessd at databaseadvisors.com >> >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >>> >> >>> >> >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >> >> Office >> >>>suite for the Macintosh: >> >>> >> >>>Mac Users Face Hurdles with New Office Versions >> >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S >> > TR4 >> >>> >> >>>Although there is a converter tool for older Office documents, with >> >> promises >> >>>for VBA support in the future, Mac developers are encouraged to use >> >>>Applescript instead. >> >>> >> >>>Access developers have to at least consider the possibility that >> > Office >> >>>2007 will be the last version of Office that will natively run VBA. >> >>> >> >>>-Ken >> >> >> >> >> >> -- >> >> AccessD mailing list >> >> AccessD at databaseadvisors.com >> >> http://databaseadvisors.com/mailman/listinfo/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 rockysmolin at bchacc.com Thu May 31 18:38:21 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 16:38:21 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> Message-ID: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> This is a test file of 18k records. The final file will be over a million. And it's not a one shot. So I've got to find an automated solution. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Thursday, May 31, 2007 3:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FW: Removing quotes Can't you delete the quotes in the original file? -- I'm trying to think of a Find Replace pattern that might work -- how about Space " And " space That would catch every " at the beginning of a word and after -- would help I would think. Might not get everything, but might get enough that you could visually catch the rest. Susan H. Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM From rockysmolin at bchacc.com Thu May 31 18:41:15 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 16:41:15 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <001501c7a2ee$215a4a30$0200a8c0@danwaters> Message-ID: <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> NO Exchange server. Just little old me sending out emails to my prospects and customers generated by my home grown contact system. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 12:10 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From ssharkins at setel.com Thu May 31 18:50:56 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 19:50:56 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> Message-ID: <000301c7a3de$892c7d90$33b62ad1@SusanOne> Well, you could do what accountants and IT professionals do -- demand they send it in the format you need. :) Make it someone else's problem. ;) Susan H. This is a test file of 18k records. The final file will be over a million. And it's not a one shot. So I've got to find an automated solution. From wdhindman at dejpolsystems.com Thu May 31 19:10:58 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 20:10:58 -0400 Subject: [AccessD] FW: Removing quotes References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne><008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> <000301c7a3de$892c7d90$33b62ad1@SusanOne> Message-ID: <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> ...lol ...another reason why our Susan makes her living as a freelance writer, not as a freelance developer :) William Hindman ----- Original Message ----- From: "Susan Harkins" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 31, 2007 7:50 PM Subject: Re: [AccessD] FW: Removing quotes > Well, you could do what accountants and IT professionals do -- demand they > send it in the format you need. :) Make it someone else's problem. ;) > > Susan H. > > This is a test file of 18k records. The final file will be over a > million. > And it's not a one shot. So I've got to find an automated solution. > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Thu May 31 19:20:41 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 20:20:41 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne><008c01c7a3dc$c6a31e60$0301a8c0@HAL9005><000301c7a3de$892c7d90$33b62ad1@SusanOne> <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> Message-ID: <000001c7a3e2$b148c0a0$a332fad1@SusanOne> Nobody should work harder than they really have to. ;) Susan H. ...lol ...another reason why our Susan makes her living as a freelance writer, not as a freelance developer :) William Hindman From martyconnelly at shaw.ca Thu May 31 19:36:05 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 17:36:05 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> Message-ID: <465F69F5.2040001@shaw.ca> You might want to keep this one in mind as a solution Google Gears. http://gears.google.com It was only released this week, so it's bleeding edge ;) Google announced yesterday a new developer tool called Google Gears that will allow Google and third-party developers to take their Web applications offline. No direct ODBC solution built yet. So no easy hook to SQL Server or Access. These are API's called from javascript There are three core modules provided by Gears: a LocalServer for storing and accessing application pages offline, a Database for storing and accessing application data on the user's computer, and a WorkerPool for performing long-running tasks (such as the code that synchronizes data between your server and users' computers). The database is SQLite. It's a flat-file relational database that is gaining some popularity. It's commonly toted as a good quick db for Rails development, if you don't want to have MYSQL running on your machine. http://code.google.com/apis/gears/ Arthur Fuller wrote: >An excellent point, Bryan. I too have been there and done that, and it leads >me to the conclusion that the remoters ought to have their own local copy >which is synchronized whenever they succeed in a connection. I am very well >acquainted with the replication technology, and I deem you correct: that is >the best alternative, given the flakiness of the satellite connections. > >This means I need to roll out an installation, and Sage is not within >budget. I have a vbScript which can do most if not all of it, so I guess I >will try that and see how it works. A test case or three, load and go, see >what happens. We are still in test phase, so no result can hurt the real >data. > >It's been a while since I did Access replication, but I know the turf pretty >well, so a couple of slaps in the face ought to remind me of everything I've >forgotten. :) > >A. > > >On 5/30/07, Bryan Carbonnell wrote: > > >>On 5/29/07, Arthur Fuller wrote: >> >> >>>Preface: there are no stupid questions, only stupid people. Sadly, I >>> >>> >>fall >> >> >>>into this category. >>> >>> >>Which category? Stupid questions? :) >> >> >> >>>1. a local FE installed on every remote, all of which point to the BE >>>available by satellite, if and when the technology is working. >>> >>> >>Apparently >> >> >>>this is intermittent. I know nothing about this part of the app. >>> >>> >>What if the sat link drops while the user is in the DB? Isn't that a >>really good way to corrupt the BE? >> >> >> >>>2. In the event that the satellite connection is unavailable, it has >>> >>> >>been >> >> >>>mandated that the remote user should be able to fill in a Word form and >>>email that. (Precisely how I am to handle said emails and integrate them >>>into the system has been conveniently overlooked, but like George >>> >>> >>Smiley, I >> >> >>>plod on.) >>> >>> >>Have a look at >>http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp >> >>That should give you most of what you need to get going in this >>regard. If not, just ask. I've been doing Remote data collection with >>Word for about 8 years. >> >> >> >>>3. In the absence of a reliable connection to HQ, then I don't see how >>> >>> >>this >> >> >>>can work without a local copy of the DB. I am certainly not against >>> >>> >>that, >> >> >>>but it drags in the replication technology -- which I have used and >>> >>> >>love, >> >> >>>but it costs hours to set up and every time I mention hours Client says >>>"Cheaper", and when I mention "Cheap" Client says "Not enough >>>functionality", or something like that. >>> >>> >>Good. Cheap. Fast. Give 'em the options and let 'em pick 2. >> >> -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Thu May 31 19:58:29 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 17:58:29 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> Message-ID: <465F6F35.9080405@shaw.ca> Since all the ribbon code or placement is stored as xml I just wonder if this was done to enable accdb xml templates It would also make it compatible with similar xml storage methods for Word and Excel 2007. There are $30 addins vailable that allow you to revert back to Access 2003 or any Office 2003 product menu styles. But that doesn't help in coding ribbons. William Hindman wrote: >...I am not at all "hasty" Arthur ...I too spent way too much time looking >for the basics before it dawned on me that the ribbon "designers" were more >interested in being "cool" than in being productive ...exit Access12 stage >left ...right along with bloody Vista. > >...afaic, Access12 is just continuing evidence that MS is congenitally >incapable of producing sequential versions of Access that real developers >actually adapt enmasse ...count me as patiently awaiting Access14, eh :) > >William Hindman > >----- Original Message ----- >From: "Arthur Fuller" >To: "Access Developers discussion and problem solving" > >Sent: Thursday, May 31, 2007 7:09 PM >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > >>I am not quite so hasty as you, William. I just wish that I could find the >>commands that I regularly use. I am most willing to accept that newbies >>think the ribbon is cool, but I just want to issue the familiar keystrokes >>and get where I want to go. >>I can't believe that I wasted an hour trying to deduce how to insert a row >>into a table. Who in the world woulda thunk that command would reside on >>the >>Format menu? What the hell does that have to do with format? >> >>I'm out of here soon, except for hobbyist reasons. I shall probably hang >>around for a few years, for hobbyist reasons. But I'm too old for this >>s**t >>anymore. >> >>A. >> >> >>On 5/31/07, William Hindman wrote: >> >> >>>...lol ...the "ribbon" is just plain dumb ...period. :) >>>William Hindman >>>----- Original Message ----- >>>From: "Charlotte Foust" >>>To: "Access Developers discussion and problem solving" >>> >>>Sent: Thursday, May 31, 2007 11:10 AM >>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>> >>> >>> >>> >>>>Hmmn ... And the ribbon is a move to make Office "more" user friendly >>>>and Mac-like. Sounds like an implication to me .... ;-> >>>> >>>>Charlotte Foust >>>> >>>>-----Original Message----- >>>>From: accessd-bounces at databaseadvisors.com >>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William >>>>Hindman >>>>Sent: Wednesday, May 30, 2007 2:51 PM >>>>To: Access Developers discussion and problem solving >>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>> >>>>...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting >>>>macros, not a development language supporting extensive database >>>>development ...so the opt-out in favor of Apple Script is really a move >>>>on their part to make MS Office/Mac "more" Mac friendly ...and has zero >>>>implications for the future of VBA on its own platform ...imnsho, of >>>>course. >>>> >>>>William Hindman >>>> >>>>----- Original Message ----- >>>>From: "John Skolits" >>>>To: "'Access Developers discussion and problem solving'" >>>> >>>>Sent: Wednesday, May 30, 2007 5:20 PM >>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>> >>>> >>>> >>>> >>>>>"What you guys think is the number of years that it will take for the >>>>>number of those actually using VBA to drop below 50% of the >>>>>present count?" >>>>> >>>>>Based on the many legacy systems I see that still rely on the Dos >>>>>operating >>>>>systems, it will be a long time. Below 50%? 4-5 years. >>>>> >>>>>But, it all scares me a bit since Access as a front end and also VBA >>>>> >>>>> >>>>are >>>> >>>> >>>>>my >>>>>primary tools of development. Time to start changing careers? >>>>> >>>>>-----Original Message----- >>>>>From: accessd-bounces at databaseadvisors.com >>>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >>>>>Sent: Wednesday, May 30, 2007 4:05 PM >>>>>To: Access Developers discussion and problem solving >>>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>>> >>>>> >>>>>MF >>>>> >>>>> >>>>> >>>>>______________________________ >>>>>At 04:38 PM 30/05/2007, you wrote: >>>>> >>>>> >>>>>>Boy will there be a BUNCH of companies not upgrading beyond that! >>>>>> >>>>>> >>>>How >>>> >>>> >>>>>many >>>>> >>>>> >>>>>>apps are out there coded in vba? >>>>>> >>>>>> >>>>>>John W. Colby >>>>>>Colby Consulting >>>>>>www.ColbyConsulting.com >>>>>>-----Original Message----- >>>>>>From: accessd-bounces at databaseadvisors.com >>>>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>>>>>Sent: Wednesday, May 30, 2007 3:16 PM >>>>>>To: accessd at databaseadvisors.com >>>>>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >>>>>> >>>>>> >>>>>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >>>>>> >>>>>> >>>>>Office >>>>> >>>>> >>>>>>suite for the Macintosh: >>>>>> >>>>>>Mac Users Face Hurdles with New Office Versions >>>>>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S >>>>>> >>>>>> >>>>TR4 >>>> >>>> >>>>>>Although there is a converter tool for older Office documents, with >>>>>> >>>>>> >>>>>promises >>>>> >>>>> >>>>>>for VBA support in the future, Mac developers are encouraged to use >>>>>>Applescript instead. >>>>>> >>>>>>Access developers have to at least consider the possibility that >>>>>> >>>>>> >>>>Office >>>> >>>> >>>>>>2007 will be the last version of Office that will natively run VBA. >>>>>> >>>>>>-Ken >>>>>> >>>>>> >>>>>-- >>>>>AccessD mailing list >>>>>AccessD at databaseadvisors.com >>>>>http://databaseadvisors.com/mailman/listinfo/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 >> >> >> > > > > > -- Marty Connelly Victoria, B.C. Canada From dwaters at usinternet.com Thu May 31 20:08:01 2007 From: dwaters at usinternet.com (Dan Waters) Date: Thu, 31 May 2007 20:08:01 -0500 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> References: <001501c7a2ee$215a4a30$0200a8c0@danwaters> <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> Message-ID: <004d01c7a3e9$4d0ec6f0$0200a8c0@danwaters> Hi Rocky, Well, at two customers I use a free product called vbSendMail. This bypasses Outlook altogether. Has a very good Help manual! It's free, and can be found at http://www.freevbcode.com/ShowCode.Asp?ID=109. Best of Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Thursday, May 31, 2007 6:41 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access NO Exchange server. Just little old me sending out emails to my prospects and customers generated by my home grown contact system. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 12:10 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 31 20:24:43 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 18:24:43 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> References: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> Message-ID: <465F755B.40009@shaw.ca> If you have a windows version of Perl Here's a Perl script to convert CSV to pipe-delimited text strings, then change text delimiter in import wizard to pipe symbol "|" Might work #csvtab.pl #Perl script to convert quote-delimited CSV files #to undelimited pipe-separated files. #Syntax: # perl csvtab.pl inputfile.txt > outputfile.txt use strict; use Text::ParseWords; my @line; while (<>) { @line = parse_line ",", 1, $_; map { s/^\"//; s/\"$// } @line; print join "|", @line ; } Rocky Smolin at Beach Access Software wrote: >This is a test file of 18k records. The final file will be over a million. >And it's not a one shot. So I've got to find an automated solution. > >Rocky > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins >Sent: Thursday, May 31, 2007 3:52 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FW: Removing quotes > >Can't you delete the quotes in the original file? -- I'm trying to think of >a Find Replace pattern that might work -- how about > >Space " > >And > >" space > >That would catch every " at the beginning of a word and after -- would help >I would think. Might not get everything, but might get enough that you could >visually catch the rest. > >Susan H. > >Dear List: > >A client has a large tab delimited file which I'm trying to import into an >access table using the wizard. The text fields in the tab delimited file >have quotes around them. Unfortunately the Description field has embedded >quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". > >So if I import with the quote as text qualifier any record with a quote in >the description field is unparseable because there's an uneven number of >quotes and all of the subsequence fields after the Description are dropped. > >If I import with no character as the text qualifier I get all the fields but >all the text fields are surrounded by quotes. So I have to remove them. > >I'm thinking to do it with a couple update queries but there are about 140 >fields so it would be awkward and a bit time consuming to structure and test >the update queries. > >I'm thinking of doing it with a bit of code - cycle through the fields for >each record and strip the quotes (also replace the quote that represents >inches with 'in.') > >I think it would take an hour to do it in code. But is there any faster, >easier, slicker way I'm overlooking? > >MTIA > >Rocky > > -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Thu May 31 21:14:54 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 22:14:54 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <20070601021455.3B091BCD8@smtp-auth.no-ip.com> >Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). No, it would need a m-m between contact and type so that the same contact can be as many different types as needed. And the reason it got in the book that way is that it makes it simple enough for Joe average user to understand. The focus was apparently not correct normalization but something else. I actually built my LightWeight Security around a 32 bit (actually 31 bit) word (long int in VBA) to represent user groups. I did it that way because the whole thing revolved around classes which loaded and cached this stuff and then the classes interpreted everything in code. I don't care (in my code) what a given bit represents, it is just "some group". I made an executive decision that for my use, 31 groups was sufficient. Perhaps this author has a similar "executive decision". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Thursday, May 31, 2007 3:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why >it was not done as a single field. Seems to be a really poor design. >I'd love to talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field >seems rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in >regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" >by Paul Nielsen as one of my reference books sitting on the shelf. >Happened to notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the >contact type is signified by flags. A contact can be a customer, >employee, or vendor. Customers have a lookup for customer type, which >is referenced in determining the discount." > > Literally he has three bit flag fields in the record to indicate if >it is a customer, employee, or vendor contact. It also includes name >fields and a company name, so the contact can be a person, a company, >or a person at a company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs >one for individuals and one for companies. Even before I had seen the >above, I was leaning towards going back to a single table. I'll let >you know what approach I finally choose when I get to it and any >pitfalls that ensue as a result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Thu May 31 21:20:44 2007 From: dwaters at usinternet.com (Dan Waters) Date: Thu, 31 May 2007 21:20:44 -0500 Subject: [AccessD] Get Database Size in Code? In-Reply-To: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> References: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Message-ID: <004e01c7a3f3$75aa1650$0200a8c0@danwaters> Lonnie & Mark - Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 8:57 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Get Database Size in Code? Is there code whereby an Access db can determine what its own size is? Thanks! Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jedi at charm.net Thu May 31 21:30:27 2007 From: jedi at charm.net (Michael Bahr) Date: Thu, 31 May 2007 22:30:27 -0400 (EDT) Subject: [AccessD] FW: Removing quotes In-Reply-To: <465F755B.40009@shaw.ca> References: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> <465F755B.40009@shaw.ca> Message-ID: <1779.24.35.45.228.1180665027.squirrel@mail.expedient.net> Nice about about Perl or any other "higher level language" is that there is always more than one way to get the same result. Another way to accomplish this would be to split on the tab delimiters and evaluate each item using a regular expression and then rejoin. Or globally substitute the | for all tabs (^t) and perform the regular expression on the quotes. For doing intermediate processing on text files using Perl or Tcl are great tools plus they are open-source and free. Mike... be using split and creating a regular-expression > If you have a windows version of Perl > > Here's a Perl script to convert CSV to > pipe-delimited text strings, then change text delimiter > in import wizard to pipe symbol "|" > > Might work > > #csvtab.pl > #Perl script to convert quote-delimited CSV files > #to undelimited pipe-separated files. > #Syntax: > # perl csvtab.pl inputfile.txt > outputfile.txt > > use strict; > use Text::ParseWords; > my @line; > > while (<>) { > @line = parse_line ",", 1, $_; > map { s/^\"//; s/\"$// } @line; > print join "|", @line ; > > } > > > > > Rocky Smolin at Beach Access Software wrote: > >>This is a test file of 18k records. The final file will be over a >> million. >>And it's not a one shot. So I've got to find an automated solution. >> >>Rocky >> >> >> >> >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins >>Sent: Thursday, May 31, 2007 3:52 PM >>To: 'Access Developers discussion and problem solving' >>Subject: Re: [AccessD] FW: Removing quotes >> >>Can't you delete the quotes in the original file? -- I'm trying to think >> of >>a Find Replace pattern that might work -- how about >> >>Space " >> >>And >> >>" space >> >>That would catch every " at the beginning of a word and after -- would >> help >>I would think. Might not get everything, but might get enough that you >> could >>visually catch the rest. >> >>Susan H. >> >>Dear List: >> >>A client has a large tab delimited file which I'm trying to import into >> an >>access table using the wizard. The text fields in the tab delimited file >>have quotes around them. Unfortunately the Description field has >> embedded >>quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". >> >>So if I import with the quote as text qualifier any record with a quote >> in >>the description field is unparseable because there's an uneven number of >>quotes and all of the subsequence fields after the Description are >> dropped. >> >>If I import with no character as the text qualifier I get all the fields >> but >>all the text fields are surrounded by quotes. So I have to remove them. >> >>I'm thinking to do it with a couple update queries but there are about >> 140 >>fields so it would be awkward and a bit time consuming to structure and >> test >>the update queries. >> >>I'm thinking of doing it with a bit of code - cycle through the fields >> for >>each record and strip the quotes (also replace the quote that represents >>inches with 'in.') >> >>I think it would take an hour to do it in code. But is there any faster, >>easier, slicker way I'm overlooking? >> >>MTIA >> >>Rocky >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From rockysmolin at bchacc.com Thu May 31 22:31:56 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 20:31:56 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <465F755B.40009@shaw.ca> Message-ID: <009101c7a3fd$67c0cb10$0301a8c0@HAL9005> No Perl here. Anyway, it's tab delimited. I think I'll get up early and write some code. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 31, 2007 6:25 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FW: Removing quotes If you have a windows version of Perl Here's a Perl script to convert CSV to pipe-delimited text strings, then change text delimiter in import wizard to pipe symbol "|" Might work #csvtab.pl #Perl script to convert quote-delimited CSV files #to undelimited pipe-separated files. #Syntax: # perl csvtab.pl inputfile.txt > outputfile.txt use strict; use Text::ParseWords; my @line; while (<>) { @line = parse_line ",", 1, $_; map { s/^\"//; s/\"$// } @line; print join "|", @line ; } Rocky Smolin at Beach Access Software wrote: >This is a test file of 18k records. The final file will be over a million. >And it's not a one shot. So I've got to find an automated solution. > >Rocky > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan >Harkins >Sent: Thursday, May 31, 2007 3:52 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FW: Removing quotes > >Can't you delete the quotes in the original file? -- I'm trying to >think of a Find Replace pattern that might work -- how about > >Space " > >And > >" space > >That would catch every " at the beginning of a word and after -- would >help I would think. Might not get everything, but might get enough that >you could visually catch the rest. > >Susan H. > >Dear List: > >A client has a large tab delimited file which I'm trying to import into >an access table using the wizard. The text fields in the tab delimited >file have quotes around them. Unfortunately the Description field has >embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". > >So if I import with the quote as text qualifier any record with a quote >in the description field is unparseable because there's an uneven >number of quotes and all of the subsequence fields after the Description are dropped. > >If I import with no character as the text qualifier I get all the >fields but all the text fields are surrounded by quotes. So I have to remove them. > >I'm thinking to do it with a couple update queries but there are about >140 fields so it would be awkward and a bit time consuming to structure >and test the update queries. > >I'm thinking of doing it with a bit of code - cycle through the fields >for each record and strip the quotes (also replace the quote that >represents inches with 'in.') > >I think it would take an hour to do it in code. But is there any >faster, easier, slicker way I'm overlooking? > >MTIA > >Rocky > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.5/826 - Release Date: 5/31/2007 4:51 PM From accessd at shaw.ca Thu May 31 22:45:20 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 31 May 2007 20:45:20 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <0JIX007EOU74U2O0@l-daemon> Now that is what I call a decent rant. Excellent work Arthur. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office > suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises > for VBA support in the future, Mac developers are encouraged to use > Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 May 31 22:59:36 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 31 May 2007 23:59:36 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <0JIX007EOU74U2O0@l-daemon> References: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> <0JIX007EOU74U2O0@l-daemon> Message-ID: <29f585dd0705312059p3d8113e1h4ebef83fb4f63a68@mail.gmail.com> Thanks, Jim. But upon rereading it I think I did prattle on a tad too much. On 5/31/07, Jim Lawrence wrote: > > Now that is what I call a decent rant. Excellent work Arthur. > > Jim > From kismert at gmail.com Thu May 31 23:59:15 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 31 May 2007 23:59:15 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465FA7A3.5090301@gmail.com> Eric, Steve, Marty, (Steve) > ... I am certain that VBA will be alive and well in Access 14 ... (Marty) > ... However Clint Covington doesn't mention dropping VBA for version 14 ... Clint Covington was asked this point blank by a reader in this post: Reader question about macros and VBA: https://blogs.msdn.com/clintcovington/archive/2007/04/21/reader-question-about-macros-and-vba.aspx No answer was given. This is not surprising, given this article: Microsoft Not Discussing Windows 7, Office 14: http://www.betanews.com/article/Microsoft_Not_Discussing_Windows_7_Office_14/1171589364 However, VSTA appears to be the .NET VBA replacement: The future of VBA looks a lot like VSTA. Or does it? http://blogs.officezealot.com/hansen/archive/2007/04/12/20245.aspx It seems clear Visual Studio Tools for Office is the future in Office development. Steve Hansen's Office Zealot blog is an excellent resource for VSTO: http://blogs.officezealot.com/hansen/default.aspx For those wanting to migrate from VBA to VSTO, Office Zealot is a super starting point: http://blogs.officezealot.com/ Conclusion: In all my searching, I haven't found one source that refutes my position that VBA might go away in Office 14. But, I haven't found any sources that support your position, either. So, here's where I will let it rest: find one credible source that says VBA WILL BE NATIVELY supported in Office 14/2009, and I will consider the argument closed. -Ken From adtp at hotmail.com Tue May 1 00:18:04 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 1 May 2007 10:48:04 +0530 Subject: [AccessD] Reports to Excel References: Message-ID: Mark, You might be able to get some working ideas from two of my sample db's mentioned below: (a) Reports_AccessToExcelAndWord (b) ExportAccessToExcelMultiSheets These are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Mark A Matte To: accessd at databaseadvisors.com Sent: Tuesday, May 01, 2007 02:14 Subject: Re: [AccessD] Reports to Excel Thanks Jim and John, I used... ".Columns.Borders.Color = vbBlack" ...and this seemed to do the trick... The export will have a different number of columns and rows each time. The above method puts a border around every cell in the worksheet...not just the data. If I could isolate just the cells with data...it might look better...but this will get me by. The 'macro recording' gave me a longer approach...but it was dependant on a range...which I'm not sure how to get. Any ideas? Thanks, Mark A. Matte From accessd666 at yahoo.com Tue May 1 03:54:16 2007 From: accessd666 at yahoo.com (Sad Der) Date: Tue, 1 May 2007 01:54:16 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! Message-ID: <36259.86248.qm@web31605.mail.mud.yahoo.com> Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Gustav at cactus.dk Tue May 1 04:07:08 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 11:07:08 +0200 Subject: [AccessD] Reports to Excel Message-ID: Hi Mark You really should clean up the code. Indeed, get rid of all the Selection stuff you do not need (that's most if not all of it) and replace with Ranges - if you don't, your code will look like, well, it has been created by the Macro Recorder! /gustav >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> As Jim mentioned, you might want to clean up the code, but you don't have to. From Gustav at cactus.dk Tue May 1 04:36:26 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 11:36:26 +0200 Subject: [AccessD] Set recordsource of a form dynamically?! Message-ID: Hi Sander Your gDataSvr.GetConnection() might return just a connection string and not a Connection object ...? /gustav >>> accessd666 at yahoo.com 01-05-2007 10:54 >>> Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander From jwcolby at colbyconsulting.com Tue May 1 04:41:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 05:41:04 -0400 Subject: [AccessD] Dot Net, where to start? In-Reply-To: <001a01c78b97$5d2e33a0$7d7d6c4c@jisshowsbs.local> References: <0JHB006MNTMD9X70@l-daemon> <46367238.6060600@shaw.ca> <001a01c78b97$5d2e33a0$7d7d6c4c@jisshowsbs.local> Message-ID: <003401c78bd4$d92a1590$657aa8c0@m6805> LOL. Me? Obtuse? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Monday, April 30, 2007 10:21 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Dot Net, where to start? ...obtuse, eh ...no wonder JC is so enamored of it :) William Hindman ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Monday, April 30, 2007 6:48 PM Subject: Re: [AccessD] Dot Net, where to start? >I would suggest, it is somewhere between 90 and 180 degrees, > just so it could be an obtuse angle. > > Jim Lawrence wrote: > >>Hi All: >> >>My 2 cents on this is that most if not all developers on the Access List >>are >>working on or/and will be moving towards Dot Net at one point. I see the >>progress more as a migration process something like a 90 degree turn not >>as >>a 180. >> >>Jim >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust >>Sent: Monday, April 30, 2007 10:55 AM >>To: Access Developers discussion and problem solving >>Subject: Re: [AccessD] Dot Net, where to start? >> >>Does it belong in this list? Also, there are differences between VS >>2003 and VS 2005 when it comes to creating typed datasets. >> >>Charlotte >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >>Sent: Monday, April 30, 2007 5:01 AM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Dot Net, where to start? >> >>Hi Charlotte >> >>Yes, that sounds like a learning experience. >> >>/gustav >> >> >> >>>>>kp at sdsonline.net 30-04-2007 04:31 >>> >>>>> >>>>> >>Charlotte - any chance of stepping us dot net newbies thru an example of >>what you mean? >> >>Kath >> ----- Original Message ----- >> From: Charlotte Foust >> To: Access Developers discussion and problem solving >> Sent: Saturday, April 28, 2007 2:18 AM >> Subject: Re: [AccessD] Dot Net, where to start? >> >> >> The chapters on ADO.Net give a good overview of datasets, data >>providers >> and the actual relational objects (tables, views, etc.), and it also >> compares ADO.Net and ADO as well. But I haven't seen any books >> describing the data tier structures in the way we built them. Most of >> the books start with directly binding a form to a data adapter, and we >> work the other way around. We build data "entities" that implement >> typed datasets and expose the behaviors and methods we need. We can >> then drop one of those entities on a form or report to provide the >>data >> connections we need. The working code is actually in a dataprovider >> class with the entity containing calls to the dataprovider and even to >> other entities if need be. >> >> Our model has evolved as we developed the apps and figured out what >> worked, and we have "refactored" (a much overused work in our shop) >>the >> bits and pieces many times over the course of the past two years. >> >> Charlotte Foust >> >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com >> >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd666 at yahoo.com Tue May 1 04:51:28 2007 From: accessd666 at yahoo.com (Sad Der) Date: Tue, 1 May 2007 02:51:28 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! SOLVED In-Reply-To: Message-ID: <686606.72642.qm@web31606.mail.mud.yahoo.com> Gustav, Thnx for the reply. It returns a connection object. Here's the code that works, i had to use SET Me.RECORDSET Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Set Me.Recordset = rstSource Set rstSource = Nothing --- Gustav Brock wrote: > Hi Sander > > Your gDataSvr.GetConnection() might return just a > connection string and not a Connection object ...? > > /gustav > > >>> accessd666 at yahoo.com 01-05-2007 10:54 >>> > Hi group, > > I'm using an A2k2 ADP with an SQL Server 2000 > database. > In the File=>Connection properties there is a > connection to the development server. > > Using an ini file I dynamically connect to the > production server via a class cDataSvr. > > In a module I've declared the following: > Public gDataSvr = cDataSvr > > In the load event of a form I instantiate a > recordset > using gDataSvr. > > When I try the the line: > ?gDataSvr.GetConnection I get the connection > settings > of the production server. > > I've tried the following code: > > Dim rstSource As ADODB.Recordset > Set rstSource = New ADODB.Recordset > > With rstSource > .ActiveConnection = gDataSvr.GetConnection() > .Source = "select * from treport" > .Open > End With > > Me.RecordSource = rstSource.Source > > Set rstSource = Nothing > > To my surprise I received DEVELOPMENT data instead > of > PRODUCTION data!?! > > My question: > How do tell the form to use the connection of > gDataSvr > and NOT the connection instantiated in > File=>Connection?!?! > > Regards, > > Sander > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Tue May 1 06:06:03 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 07:06:03 -0400 Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net In-Reply-To: <0JHC007TC404LIX4@vms048.mailsrvcs.net> References: <004301c7868a$9e6cd590$657aa8c0@m6805> <0JHC007TC404LIX4@vms048.mailsrvcs.net> Message-ID: <004601c78be0$bae455d0$657aa8c0@m6805> Is there any way to have SQL Server export a spec for a table that bulk copy can use, at least what the fields look like etc? I have never used bulk copy and there are a LOT of fields in the table. Alternately is there somewhere that I can find the bulk copy spec, what the format file is supposed to look like? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS From jwcolby at colbyconsulting.com Tue May 1 07:49:20 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 08:49:20 -0400 Subject: [AccessD] using a saved SSIS with VB.Net In-Reply-To: <0JHC007TC404LIX4@vms048.mailsrvcs.net> References: <004301c7868a$9e6cd590$657aa8c0@m6805> <0JHC007TC404LIX4@vms048.mailsrvcs.net> Message-ID: <004f01c78bef$264cf210$657aa8c0@m6805> Eric, I have successfully generated the fmt file. My only concern at this point is that the import file has spaces at the end of the valid data, padding to make up the full width of the field. I do NOT want the spaces, and I suspect that BCP is going to pull in all of the spaces. Is it possible to tell BCP to strip the spaces, or is it possible to use BCP to pull a CSV file into an existing table, respecting the already established field types / sizes in the destination table? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, April 24, 2007 9:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net The CSV file is on the same machine. It appears that the clause that pulls the source table (csv file) into memory is taking a ton of time. These are large files, the smallest are a little under 200 million bytes and the largest are up in the 3 gigabyte range. It appears that SQL Server does not read a few records and append them, but rather reads the whole CSV and then starts appending all of the assembled records. If I were a SQL Server pro I could probably speed this up considerably. Alas, I am not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Tuesday, April 24, 2007 11:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net John, One of the keys to getting it into SQL Server faster is to have the CSV file on the server and not on a different machine. Network traffic can kill the process and slow it down significantly. Robert At 10:22 AM 4/24/2007, you wrote: >Date: Tue, 24 Apr 2007 10:32:44 -0400 >From: "JWColby" >Subject: Re: [AccessD] using a saved SSIS with VB.Net >To: "'Access Developers discussion and problem solving'" > >Message-ID: <003101c7867d$6cce93a0$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Gustav, > >My bigger issue here is that there 56 of these files to import into SQL >Server, supposedly ~100 million records. I have done about 8 million >records so far. I really must get this thing automated such that it >just chunks through these CSV files without my having to be around to >start the next one. I am working now on setting up the append query >using that syntax below into a stored procedure so that I can then just replace the file name. >After that I will need to write something in VB.Net or whatever to >execute the stored procedure feeding in all of the file names from a >specific directory, deleting the file once the stored procedure >finishes the import for a given file. > >I have never written a stored procedure. >Obviously, given the above, I have never called a stored procedure from >code. > >So much to learn, so little time. > >Once this is imported I have to turn right around and export a subset >of fields from the table back out as 1 - 2 million record chunks for >CAS / DPV / NCOA processing, then I have to import THOSE back in to a >new table. > >And when this set of data is finished, I have another set of about the >same size on the way, to which I have to perform the same processes. I >soooooo need to get this process automated. > >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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.463 / Virus Database: 269.5.10/774 - Release Date: 4/23/2007 5:26 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Tue May 1 09:06:36 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 01 May 2007 07:06:36 -0700 Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net In-Reply-To: <004601c78be0$bae455d0$657aa8c0@m6805> Message-ID: <0JHD003UK8HKBT22@vms042.mailsrvcs.net> John, This is the SQL query I use to get the field names... DECLARE @TableName varchar(50) SET @TableName = 'tmpemployees' SELECT syscolumns.name AS DBFieldNames, syscolumns.type AS DataType, (syscolumns.length/2) AS DataLength FROM sysobjects INNER JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.name = @TableName ORDER BY colorder Here's what I came across when I googled it... http://www.thescripts.com/forum/thread520822.html 8.0 5 1 SQLCHAR 0 0 ";\"" 1 col1 "" 2 SQLCHAR 0 0 "\";" 2 col2 "" 3 SQLCHAR 0 0 ";" 3 col3 "" 4 SQLCHAR 0 0 ";" 4 col3 "" 5 SQLCHAR 0 0 "\r\n" 5 col3 "" The first row is the version of the file format. Next is the number of fields in the file. Following lines describe one field each. First column is record number. Second column is data type of the field in the file. For a text file this is always SQLCHAR or always SQLNCHAR for a Unicode file. Other data types are only used with binary formats. The third column is prefix-length, used only for binary files. Fourth column is the length, and is used for fixed-length fields. Fifth field is the terminator, and it is here you specify the quotes. Six column is the database column, with 1 denoting the first column. 0 means that this field is not to be imported. Seventh column is the column name, but it's informational. BCP/BULK INSERT does not use it. Last colunm is the collation for the data in the file. Overall, keep in mind that BCP/BULK INSERT reads a binary file and a row terminator is really only the terminator for the last field. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 4:06 AM To: 'Access Developers discussion and problem solving' Cc: dba-sqlserver at databaseadvisors.com Subject: [AccessD] Bulk copy spec - was RE: using a saved SSIS with VB.Net Is there any way to have SQL Server export a spec for a table that bulk copy can use, at least what the fields look like etc? I have never used bulk copy and there are a LOT of fields in the table. Alternately is there somewhere that I can find the bulk copy spec, what the format file is supposed to look like? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 5/1/2007 2:10 AM From ebarro at verizon.net Tue May 1 09:16:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 01 May 2007 07:16:05 -0700 Subject: [AccessD] using a saved SSIS with VB.Net In-Reply-To: <004f01c78bef$264cf210$657aa8c0@m6805> Message-ID: <0JHD0096Z8XC1WT7@vms042.mailsrvcs.net> John, Based on what I have seen so far, it will not strip the spaces so I usually create a TEMP table and BULK INSERT the data to that temp table and then RTRIM the fields when I import to the real table. Here's the code I used to import padded records from Peoplesoft... -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), [....snipped the rest of the fields in between] Email varchar(50) ) -- Read the text file into the temp table BULK INSERT #tmpEmployees FROM 'ImportData.csv' WITH (FORMATFILE = 'ImportData.fmt' -- Now read it into Employees table (this assumes same number of fields as the importdata file otherwise we need to spell out each field) INSERT INTO Employees SELECT RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, [....snipped the rest of the fields in between] RTRIM(email) as email FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 5:49 AM To: 'Access Developers discussion and problem solving' Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net Eric, I have successfully generated the fmt file. My only concern at this point is that the import file has spaces at the end of the valid data, padding to make up the full width of the field. I do NOT want the spaces, and I suspect that BCP is going to pull in all of the spaces. Is it possible to tell BCP to strip the spaces, or is it possible to use BCP to pull a CSV file into an existing table, respecting the already established field types / sizes in the destination table? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, April 30, 2007 7:31 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net Have you looked into BULK INSERT in SQL? This is supposed to be a faster data import method. Using T-SQL you can do something like this... CREATE TABLE #tmpEmployees () BULK INSERT #tmpEmployees FROM 'c:\temp\import.csv' WITH (FORMATFILE = 'c:\temp\importCSV.fmt' importCSV.fmt would contain the file format...in this example it's fixed width 8.0 18 1 SQLCHAR 0 5 "" 1 suffix SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 30 "" 2 last_name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 20 "" 3 first_name SQL_Latin1_General_CP1_CI_AS -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, April 24, 2007 9:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] using a saved SSIS with VB.Net The CSV file is on the same machine. It appears that the clause that pulls the source table (csv file) into memory is taking a ton of time. These are large files, the smallest are a little under 200 million bytes and the largest are up in the 3 gigabyte range. It appears that SQL Server does not read a few records and append them, but rather reads the whole CSV and then starts appending all of the assembled records. If I were a SQL Server pro I could probably speed this up considerably. Alas, I am not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Tuesday, April 24, 2007 11:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] using a saved SSIS with VB.Net John, One of the keys to getting it into SQL Server faster is to have the CSV file on the server and not on a different machine. Network traffic can kill the process and slow it down significantly. Robert At 10:22 AM 4/24/2007, you wrote: >Date: Tue, 24 Apr 2007 10:32:44 -0400 >From: "JWColby" >Subject: Re: [AccessD] using a saved SSIS with VB.Net >To: "'Access Developers discussion and problem solving'" > >Message-ID: <003101c7867d$6cce93a0$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Gustav, > >My bigger issue here is that there 56 of these files to import into SQL >Server, supposedly ~100 million records. I have done about 8 million >records so far. I really must get this thing automated such that it >just chunks through these CSV files without my having to be around to >start the next one. I am working now on setting up the append query >using that syntax below into a stored procedure so that I can then just replace the file name. >After that I will need to write something in VB.Net or whatever to >execute the stored procedure feeding in all of the file names from a >specific directory, deleting the file once the stored procedure >finishes the import for a given file. > >I have never written a stored procedure. >Obviously, given the above, I have never called a stored procedure from >code. > >So much to learn, so little time. > >Once this is imported I have to turn right around and export a subset >of fields from the table back out as 1 - 2 million record chunks for >CAS / DPV / NCOA processing, then I have to import THOSE back in to a >new table. > >And when this set of data is finished, I have another set of about the >same size on the way, to which I have to perform the same processes. I >soooooo need to get this process automated. > >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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.463 / Virus Database: 269.5.10/774 - Release Date: 4/23/2007 5:26 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 5/1/2007 2:10 AM From jwcolby at colbyconsulting.com Tue May 1 09:20:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 1 May 2007 10:20:32 -0400 Subject: [AccessD] Importing large data files Message-ID: <005801c78bfb$e13b23b0$657aa8c0@m6805> I have been struggling to get large data files to import into SQL Server in a manner that won't take weeks to complete. I was trying to use CSV files to get around the trailing (and occasionally leading) spaces in the data fields caused by fixed width / space padded fields in the source text files. So I created a program in MS Access to read the source file, line by line, carve out each data element, strip the spaces, then when an entire line was assembled, write that back out to a new csv file. The next issue I ran into is that SQL Server doesn't know how to deal with text qualifiers, which are commonly used in CSV files to encapsulate commas inside of data, IOW if a comma is the delimiter, then the data is enclosed in quotes: "51 Some Street, Ste2001", "Some City". In THIS CASE, since I control the intermediary file, I am able to change from a space delimiter to a | delimiter and remove the quotes. Thus the previous example turns into 51 Some Street, Ste2001|Some City| This can be imported into SQL Server without an issue since I can specify the FIELDTERMINATOR parameter to the bulk insert in a query. Using bulk insert pulled my import up from 300-400 records per second to almost one thousand records per second. Not blazing but with 100 million records to import, it is a significant improvement in total time to import. John W. Colby Colby Consulting www.ColbyConsulting.com From jimdettman at verizon.net Tue May 1 09:41:50 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Tue, 01 May 2007 10:41:50 -0400 Subject: [AccessD] Importing large data files In-Reply-To: <005801c78bfb$e13b23b0$657aa8c0@m6805> References: <005801c78bfb$e13b23b0$657aa8c0@m6805> Message-ID: <00a701c78bfe$db2ef430$8abea8c0@XPS> John, Nice work. As an aside, I'm seeing the vertical pipe character used more and more as a delimiter. Never seems to occur normally in data and it still leaves the file fairly easy to read. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 01, 2007 10:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Importing large data files I have been struggling to get large data files to import into SQL Server in a manner that won't take weeks to complete. I was trying to use CSV files to get around the trailing (and occasionally leading) spaces in the data fields caused by fixed width / space padded fields in the source text files. So I created a program in MS Access to read the source file, line by line, carve out each data element, strip the spaces, then when an entire line was assembled, write that back out to a new csv file. The next issue I ran into is that SQL Server doesn't know how to deal with text qualifiers, which are commonly used in CSV files to encapsulate commas inside of data, IOW if a comma is the delimiter, then the data is enclosed in quotes: "51 Some Street, Ste2001", "Some City". In THIS CASE, since I control the intermediary file, I am able to change from a space delimiter to a | delimiter and remove the quotes. Thus the previous example turns into 51 Some Street, Ste2001|Some City| This can be imported into SQL Server without an issue since I can specify the FIELDTERMINATOR parameter to the bulk insert in a query. Using bulk insert pulled my import up from 300-400 records per second to almost one thousand records per second. Not blazing but with 100 million records to import, it is a significant improvement in total time to import. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Tue May 1 10:13:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 01 May 2007 15:13:57 +0000 Subject: [AccessD] Reports to Excel In-Reply-To: Message-ID: Thanks A.D., I will take a look at them. Thanks, Mark A. Matte >From: "A.D.TEJPAL" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 1 May 2007 10:48:04 +0530 > >Mark, > > You might be able to get some working ideas from two of my sample db's >mentioned below: > (a) Reports_AccessToExcelAndWord > (b) ExportAccessToExcelMultiSheets > > These are available at Rogers Access Library (other developers >library). Link - >http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. > >Best wishes, >A.D.Tejpal >--------------- > > ----- Original Message ----- > From: Mark A Matte > To: accessd at databaseadvisors.com > Sent: Tuesday, May 01, 2007 02:14 > Subject: Re: [AccessD] Reports to Excel > > > Thanks Jim and John, > > I used... > ".Columns.Borders.Color = vbBlack" > ...and this seemed to do the trick... > > The export will have a different number of columns and rows each time. >The above method puts a border around every cell in the worksheet...not >just the data. > > If I could isolate just the cells with data...it might look better...but > this will get me by. > > The 'macro recording' gave me a longer approach...but it was dependant >on a range...which I'm not sure how to get. > > Any ideas? > > Thanks, > > Mark A. Matte >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Mortgage rates near historic lows. Refinance $200,000 loan for as low as $771/month* https://www2.nextag.com/goto.jsp?product=100000035&url=%2fst.jsp&tm=y&search=mortgage_text_links_88_h27f8&disc=y&vers=689&s=4056&p=5117 From markamatte at hotmail.com Tue May 1 10:16:01 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 01 May 2007 15:16:01 +0000 Subject: [AccessD] Reports to Excel In-Reply-To: Message-ID: Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ MSN is giving away a trip to Vegas to see Elton John.? Enter to win today. http://msnconcertcontest.com?icid-nceltontagline From Gustav at cactus.dk Tue May 1 10:41:07 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 01 May 2007 17:41:07 +0200 Subject: [AccessD] Reports to Excel Message-ID: Hi Mark That's what I mean. Unless you wish the user to sit and watch what's going on, make the worksheet invisible, set a range and not a selection, and operate on the range. For example: Dim rng As Range Set rng = .Range("A1:AC1") With rng.Font .Bold = True .Name = "Arial" .Size = 12 End With Set rng = Nothing Much faster too. /gustav >>> markamatte at hotmail.com 01-05-2007 17:16 >>> Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. From accessd at shaw.ca Tue May 1 11:09:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 01 May 2007 09:09:06 -0700 Subject: [AccessD] Set recordsource of a form dynamically?! In-Reply-To: <36259.86248.qm@web31605.mail.mud.yahoo.com> Message-ID: <0JHD00D7FE0ATON0@l-daemon> Hi Gustav: What connection string is the class/collection/type gDataSvr.GetConnection() returning? Debug.print gDataSvr.GetConnection() Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Tuesday, May 01, 2007 1:54 AM To: Acces User Group Subject: [AccessD] Set recordsource of a form dynamically?! Hi group, I'm using an A2k2 ADP with an SQL Server 2000 database. In the File=>Connection properties there is a connection to the development server. Using an ini file I dynamically connect to the production server via a class cDataSvr. In a module I've declared the following: Public gDataSvr = cDataSvr In the load event of a form I instantiate a recordset using gDataSvr. When I try the the line: ?gDataSvr.GetConnection I get the connection settings of the production server. I've tried the following code: Dim rstSource As ADODB.Recordset Set rstSource = New ADODB.Recordset With rstSource .ActiveConnection = gDataSvr.GetConnection() .Source = "select * from treport" .Open End With Me.RecordSource = rstSource.Source Set rstSource = Nothing To my surprise I received DEVELOPMENT data instead of PRODUCTION data!?! My question: How do tell the form to use the connection of gDataSvr and NOT the connection instantiated in File=>Connection?!?! Regards, Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Tue May 1 11:05:15 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 1 May 2007 11:05:15 -0500 Subject: [AccessD] Reports to Excel In-Reply-To: References: Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B5D94@karta-exc-int.Karta.com> The other issue when the user is watching the Excel sheet updating, if the user gets impatient and clicks anywhere in the active Excel window - the code stops and an error is generated. If it's a long process, I'd recommend a progress bar to let the user know it's still working. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 01, 2007 10:41 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Reports to Excel Hi Mark That's what I mean. Unless you wish the user to sit and watch what's going on, make the worksheet invisible, set a range and not a selection, and operate on the range. For example: Dim rng As Range Set rng = .Range("A1:AC1") With rng.Font .Bold = True .Name = "Arial" .Size = 12 End With Set rng = Nothing Much faster too. /gustav >>> markamatte at hotmail.com 01-05-2007 17:16 >>> Thanks Gustav, I'didn't really care for what the macro recorder gave. I found some code examples on line...and modified. Below is what I used. Thanks, Mark A. Matte With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:AC1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 Do Until MyRst.NoMatch Counter = Counter + 1 .Cells(1, Counter) = MyRst!Reas_cd If MyRst![View] = 0 Then .Cells(1, Counter).Font.Color = 255 MyRst.FindNext strSQL Loop .Columns.AutoFit .Rows.AutoFit .Columns.Borders.Color = vbBlack .ActiveWorkbook.SaveAs FileName:=strpathnew, FileFormat:=xlNormal End With appExcel.Quit >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] Reports to Excel >Date: Tue, 01 May 2007 11:07:08 +0200 > >Hi Mark > >You really should clean up the code. Indeed, get rid of all the Selection >stuff you do not need (that's most if not all of it) and replace with >Ranges - if you don't, your code will look like, well, it has been created >by the Macro Recorder! > >/gustav > > >>> jwcolby at colbyconsulting.com 30-04-2007 22:21 >>> > >As Jim mentioned, you might want to clean up the code, but you don't have >to. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 1 14:30:12 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 1 May 2007 23:30:12 +0400 Subject: [AccessD] Dot Net, where to start? In-Reply-To: <46367238.6060600@shaw.ca> Message-ID: <001201c78c27$232b4540$6501a8c0@nant> I'd say that with VB.NET (and .NET Framework) you are getting opportunity to see and to control the 3rd (4th,... etc.) dimensions after you have been living in two dimensional flat world in your "previous MS Access life"... (please recall how much times you were getting stuck or needed to do "dirty tricks" to overcome MS Access/VBA/VB6 limitations...) And that above sentence is not a "poetic metaphor/hyperbole" - you're really getting armored with the tools to investigate unexplored in usual MS Access development areas - and you can do that with extreme ease and flexibility you have never seen/experienced before... Still MS Access/MS Office are great and RAD tools of course - one (experienced/professional) MS Access/Office developer "just" has to be aware of their limitations and to not create false illusions/expectations not for oneself not for one self's customers... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Tuesday, May 01, 2007 2:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Dot Net, where to start? I would suggest, it is somewhere between 90 and 180 degrees, just so it could be an obtuse angle. Jim Lawrence wrote: >Hi All: > >My 2 cents on this is that most if not all developers on the Access List are >working on or/and will be moving towards Dot Net at one point. I see the >progress more as a migration process something like a 90 degree turn not as >a 180. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust >Sent: Monday, April 30, 2007 10:55 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] Dot Net, where to start? > >Does it belong in this list? Also, there are differences between VS >2003 and VS 2005 when it comes to creating typed datasets. > >Charlotte > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, April 30, 2007 5:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Dot Net, where to start? > >Hi Charlotte > >Yes, that sounds like a learning experience. > >/gustav > > > >>>>kp at sdsonline.net 30-04-2007 04:31 >>> >>>> >>>> >Charlotte - any chance of stepping us dot net newbies thru an example of >what you mean? > >Kath > ----- Original Message ----- > From: Charlotte Foust > To: Access Developers discussion and problem solving > Sent: Saturday, April 28, 2007 2:18 AM > Subject: Re: [AccessD] Dot Net, where to start? > > > The chapters on ADO.Net give a good overview of datasets, data >providers > and the actual relational objects (tables, views, etc.), and it also > compares ADO.Net and ADO as well. But I haven't seen any books > describing the data tier structures in the way we built them. Most of > the books start with directly binding a form to a data adapter, and we > work the other way around. We build data "entities" that implement > typed datasets and expose the behaviors and methods we need. We can > then drop one of those entities on a form or report to provide the >data > connections we need. The working code is actually in a dataprovider > class with the entity containing calls to the dataprovider and even to > other entities if need be. > > Our model has evolved as we developed the apps and figured out what > worked, and we have "refactored" (a much overused work in our shop) >the > bits and pieces many times over the course of the past two years. > > Charlotte Foust > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd666 at yahoo.com Wed May 2 06:44:12 2007 From: accessd666 at yahoo.com (Sad Der) Date: Wed, 2 May 2007 04:44:12 -0700 (PDT) Subject: [AccessD] Set recordsource of a form dynamically?! In-Reply-To: <0JHD00D7FE0ATON0@l-daemon> Message-ID: <959320.34875.qm@web31601.mail.mud.yahoo.com> Thnx for the reply but I already solved it. Btw it doesn't return a string but a ADODB.COnnection: Private madoConn As ADODB.Connection 'ADOConnectie Public Function CreateConnection(...params...) As ADODB.Connection ... Set CreateConnection = madoConn End Function Sander --- Jim Lawrence wrote: > Hi Gustav: > > What connection string is the class/collection/type > gDataSvr.GetConnection() > returning? > > Debug.print gDataSvr.GetConnection() > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Sad Der > Sent: Tuesday, May 01, 2007 1:54 AM > To: Acces User Group > Subject: [AccessD] Set recordsource of a form > dynamically?! > > Hi group, > > I'm using an A2k2 ADP with an SQL Server 2000 > database. > In the File=>Connection properties there is a > connection to the development server. > > Using an ini file I dynamically connect to the > production server via a class cDataSvr. > > In a module I've declared the following: > Public gDataSvr = cDataSvr > > In the load event of a form I instantiate a > recordset > using gDataSvr. > > When I try the the line: > ?gDataSvr.GetConnection I get the connection > settings > of the production server. > > I've tried the following code: > > Dim rstSource As ADODB.Recordset > Set rstSource = New ADODB.Recordset > > With rstSource > .ActiveConnection = gDataSvr.GetConnection() > .Source = "select * from treport" > .Open > End With > > Me.RecordSource = rstSource.Source > > Set rstSource = Nothing > > To my surprise I received DEVELOPMENT data instead > of > PRODUCTION data!?! > > My question: > How do tell the form to use the connection of > gDataSvr > and NOT the connection instantiated in > File=>Connection?!?! > > Regards, > > Sander > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam > protection around > http://mail.yahoo.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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From accessd666 at yahoo.com Wed May 2 06:46:53 2007 From: accessd666 at yahoo.com (Sad Der) Date: Wed, 2 May 2007 04:46:53 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <795965.75474.qm@web31607.mail.mud.yahoo.com> Hi, Does anybody have experience with FMS Inc. (.Net) Sourcebook? http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share E.g.: - is it workable when working on a project? - what problems did you face with implementation? - is it being used by multiple developers? - etc. Are there good alternatives? TIA Sander __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Wed May 2 07:49:12 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 08:49:12 -0400 Subject: [AccessD] Speed of bulk insert Message-ID: <004301c78cb8$4d611e70$657aa8c0@m6805> Interestingly, the speed of import has either - jumped from ~1K records / second to about 11K records / second, OR - I previously missed a decimal place (though the times required earlier on were still quite large so I don't think that's it). In any event ATM I am getting a speed consistently around 11K / second for a bulk insert operation. That is a significant event in my ability to expeditiously process 100 million records. John W. Colby Colby Consulting www.ColbyConsulting.com From garykjos at gmail.com Wed May 2 08:01:39 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 08:01:39 -0500 Subject: [AccessD] Speed of bulk insert In-Reply-To: <004301c78cb8$4d611e70$657aa8c0@m6805> References: <004301c78cb8$4d611e70$657aa8c0@m6805> Message-ID: Now you just need to train your SETI array of PC's to all work on it together. GK On 5/2/07, JWColby wrote: > Interestingly, the speed of import has either - jumped from ~1K records / > second to about 11K records / second, OR - I previously missed a decimal > place (though the times required earlier on were still quite large so I > don't think that's it). In any event ATM I am getting a speed consistently > around 11K / second for a bulk insert operation. That is a significant > event in my ability to expeditiously process 100 million records. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Wed May 2 08:08:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:08:32 -0400 Subject: [AccessD] Speed of bulk insert In-Reply-To: References: <004301c78cb8$4d611e70$657aa8c0@m6805> Message-ID: <004b01c78cba$fedd9a50$657aa8c0@m6805> ROTFL. If ONLY YOU KNEW!!! I tried yesterday to do the unzips of the files (a manual process atm) on another computer because those operations specifically seem to really tie the computer up in knots. And of course I got crap about "privileges". I can see the files on the server, I just can't do an update / add (unzip) to those directories. But if I go look at the privileges the "everyone" user can see and do whatever they want to these directories. Computers are SUCH a PITA sometimes. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 9:02 AM To: Access Developers discussion and problem solving Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [AccessD] Speed of bulk insert Now you just need to train your SETI array of PC's to all work on it together. GK On 5/2/07, JWColby wrote: > Interestingly, the speed of import has either - jumped from ~1K > records / second to about 11K records / second, OR - I previously > missed a decimal place (though the times required earlier on were > still quite large so I don't think that's it). In any event ATM I am > getting a speed consistently around 11K / second for a bulk insert > operation. That is a significant event in my ability to expeditiously process 100 million records. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 garykjos at gmail.com Wed May 2 08:22:35 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 08:22:35 -0500 Subject: [AccessD] Speed of bulk insert In-Reply-To: <004b01c78cba$fedd9a50$657aa8c0@m6805> References: <004301c78cb8$4d611e70$657aa8c0@m6805> <004b01c78cba$fedd9a50$657aa8c0@m6805> Message-ID: Yeah, only sometimes ;-) I've been beating my head against Windows VISTA user rights recently myself. And that is on the same machine where I am the only user. It won't let me open the MY DOCUMENTS folder from Explorer unless I go through the shortcut to get there. Grrrrrr. I've given up on it for now. I do it the way it lets me and just complain about it each time. Glad you are making progress anyway. And for keeping us posted. GK On 5/2/07, JWColby wrote: > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: > > Interestingly, the speed of import has either - jumped from ~1K > > records / second to about 11K records / second, OR - I previously > > missed a decimal place (though the times required earlier on were > > still quite large so I don't think that's it). In any event ATM I am > > getting a speed consistently around 11K / second for a bulk insert > > operation. That is a significant event in my ability to expeditiously > process 100 million records. > > > > John W. Colby > > Colby Consulting > > www.ColbyConsulting.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 > > -- > 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 wdhindman at dejpolsystems.com Wed May 2 08:26:58 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 2 May 2007 09:26:58 -0400 Subject: [AccessD] Speed of bulk insert References: <004301c78cb8$4d611e70$657aa8c0@m6805> <004b01c78cba$fedd9a50$657aa8c0@m6805> Message-ID: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> "Computers are SUCH a PITA sometimes." JC ...obtuse, even ...the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 02, 2007 9:08 AM Subject: Re: [AccessD] Speed of bulk insert > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) > to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: >> Interestingly, the speed of import has either - jumped from ~1K >> records / second to about 11K records / second, OR - I previously >> missed a decimal place (though the times required earlier on were >> still quite large so I don't think that's it). In any event ATM I am >> getting a speed consistently around 11K / second for a bulk insert >> operation. That is a significant event in my ability to expeditiously > process 100 million records. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 2 08:35:36 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:35:36 -0400 Subject: [AccessD] Speed of bulk insert In-Reply-To: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> References: <004301c78cb8$4d611e70$657aa8c0@m6805><004b01c78cba$fedd9a50$657aa8c0@m6805> <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> Message-ID: <004f01c78cbe$c4da1550$657aa8c0@m6805> >the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) Which is still better than the wife. She insists on doing what she THOUGHT you were asking her to do, which does not even remotely resemble what you actually ASKED her to do, never mind what you really wanted done. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 02, 2007 9:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Speed of bulk insert "Computers are SUCH a PITA sometimes." JC ...obtuse, even ...the sob's insist on doing EXACTLY what you tell them to do, not necessarily what you want them to do :) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 02, 2007 9:08 AM Subject: Re: [AccessD] Speed of bulk insert > ROTFL. If ONLY YOU KNEW!!! > > I tried yesterday to do the unzips of the files (a manual process atm) on > another computer because those operations specifically seem to really tie > the computer up in knots. And of course I got crap about "privileges". I > can see the files on the server, I just can't do an update / add (unzip) > to > those directories. But if I go look at the privileges the "everyone" user > can see and do whatever they want to these directories. > > Computers are SUCH a PITA sometimes. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos > Sent: Wednesday, May 02, 2007 9:02 AM > To: Access Developers discussion and problem solving > Cc: dba-sqlserver at databaseadvisors.com > Subject: Re: [AccessD] Speed of bulk insert > > Now you just need to train your SETI array of PC's to all work on it > together. > > GK > > On 5/2/07, JWColby wrote: >> Interestingly, the speed of import has either - jumped from ~1K >> records / second to about 11K records / second, OR - I previously >> missed a decimal place (though the times required earlier on were >> still quite large so I don't think that's it). In any event ATM I am >> getting a speed consistently around 11K / second for a bulk insert >> operation. That is a significant event in my ability to expeditiously > process 100 million records. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Wed May 2 08:38:59 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 2 May 2007 09:38:59 -0400 Subject: [AccessD] FMS Inc. Sourcebook References: <795965.75474.qm@web31607.mail.mud.yahoo.com> Message-ID: <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> Sad ...I have a great deal of respect for FMS and most of their tools ...but their source book is just a compendium of code solutions in a nice little code library ...all of which are readily available to you right here or in our archives ...often with better explanations and alternative solutions ...I have their source book for '97 and just never really used it that often because AccessD was always quicker and better imnsho ...and thus when I upgraded some of their other tools I didn't feel source book was worth the extra cost ...others here may differ ...and my opinion is worth exactly what it cost you ...hth. ...btw, they have a small collection of free tools for A97 on their site that they've never upgraded ...but if you dl them and look at the source, they are easily fixed to work with A2003. William Hindman ----- Original Message ----- From: "Sad Der" To: "Acces User Group" Sent: Wednesday, May 02, 2007 7:46 AM Subject: [AccessD] FMS Inc. Sourcebook > Hi, > > Does anybody have experience with FMS Inc. (.Net) > Sourcebook? > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > E.g.: > - is it workable when working on a project? > - what problems did you face with implementation? > - is it being used by multiple developers? > - etc. > > Are there good alternatives? > > TIA > > Sander > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 2 08:56:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 09:56:26 -0400 Subject: [AccessD] NVARCHAR turned into Text(255) in Access Message-ID: <005001c78cc1$adf4d930$657aa8c0@m6805> I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Wed May 2 09:10:34 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 10:10:34 -0400 Subject: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access In-Reply-To: <005001c78cc1$adf4d930$657aa8c0@m6805> References: <005001c78cc1$adf4d930$657aa8c0@m6805> Message-ID: <005501c78cc3$a737c5b0$657aa8c0@m6805> It turns out that simply changing it to VarChar(8000) works in this case. I tried VarChar(64000) and got a message from SQL Server that 8000 was the max for VarChar. This would have to be described as a bug in the converter however, which could cause data loss (though AFAICT it did not in my case, only because all of my memo fields are shorter than 8K). It also indicates a possible problem with the ODBC driver / connection since a Memo can be up to 64000 characters and VarChar can only be 8K there is a very real possibility of data loss in some cases. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 9:56 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: [dba-SQLServer] NVARCHAR turned into Text(255) in Access I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com From askolits at ot.com Wed May 2 09:47:01 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 10:47:01 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> Message-ID: <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John From paul.hartland at fsmail.net Wed May 2 09:52:36 2007 From: paul.hartland at fsmail.net (paul.hartland at fsmail.net) Date: Wed, 2 May 2007 16:52:36 +0200 (CEST) Subject: [AccessD] No Print dialog box and new Acrobat Message-ID: <11027330.265781178117556497.JavaMail.www@wwinf3101> John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 From garykjos at gmail.com Wed May 2 10:05:36 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 10:05:36 -0500 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> References: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local> <009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Message-ID: Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 cfoust at infostatsystems.com Wed May 2 10:09:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 08:09:19 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> References: <795965.75474.qm@web31607.mail.mud.yahoo.com> <000f01c78cbf$3d7ddf50$7d7d6c4c@jisshowsbs.local> Message-ID: I had the 97 and 2000 versions of their sourcebook and never thought it was worth the price. The .Net product may be better, but I wouldn't count on that. I generally copy and paste my own code from the MS CodeLibrarian or something similar, when I'm not scavenging for ways to do something totally unfamiliar. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 02, 2007 6:39 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook Sad ...I have a great deal of respect for FMS and most of their tools ...but their source book is just a compendium of code solutions in a nice little code library ...all of which are readily available to you right here or in our archives ...often with better explanations and alternative solutions ...I have their source book for '97 and just never really used it that often because AccessD was always quicker and better imnsho ...and thus when I upgraded some of their other tools I didn't feel source book was worth the extra cost ...others here may differ ...and my opinion is worth exactly what it cost you ...hth. ...btw, they have a small collection of free tools for A97 on their site that they've never upgraded ...but if you dl them and look at the source, they are easily fixed to work with A2003. William Hindman ----- Original Message ----- From: "Sad Der" To: "Acces User Group" Sent: Wednesday, May 02, 2007 7:46 AM Subject: [AccessD] FMS Inc. Sourcebook > Hi, > > Does anybody have experience with FMS Inc. (.Net) > Sourcebook? > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > E.g.: > - is it workable when working on a project? > - what problems did you face with implementation? > - is it being used by multiple developers? > - etc. > > Are there good alternatives? > > TIA > > Sander > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.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 askolits at ot.com Wed May 2 10:12:12 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 11:12:12 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: Message-ID: <00ab01c78ccc$42fecb80$6901a8c0@LaptopXP> I'll give it a shot. Thanks. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 11:06 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 jwcolby at colbyconsulting.com Wed May 2 10:21:23 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 11:21:23 -0400 Subject: [AccessD] VB.Net - using an outside DLL Message-ID: <006101c78ccd$8bc36050$657aa8c0@m6805> I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Wed May 2 10:29:43 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 08:29:43 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <006101c78ccd$8bc36050$657aa8c0@m6805> Message-ID: <0JHF009HW71PEG10@vms048.mailsrvcs.net> In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com From ebarro at verizon.net Wed May 2 09:22:00 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 07:22:00 -0700 Subject: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access In-Reply-To: <005501c78cc3$a737c5b0$657aa8c0@m6805> Message-ID: <0JHF00LMC3XZEF5F@vms044.mailsrvcs.net> One caveat with 8000 character field lengths is that SQL server will "spread' the record out to 2 pages when it retrieves the record. In other words, if you want retrieval of SQL data to be efficient you have to ensure that the total field length falls within 8060 characters (equivalent to one page of data). http://www.thescripts.com/forum/thread82625.html -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 7:11 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-SQLServer] NVARCHAR turned into Text(255) in Access It turns out that simply changing it to VarChar(8000) works in this case. I tried VarChar(64000) and got a message from SQL Server that 8000 was the max for VarChar. This would have to be described as a bug in the converter however, which could cause data loss (though AFAICT it did not in my case, only because all of my memo fields are shorter than 8K). It also indicates a possible problem with the ODBC driver / connection since a Memo can be up to 64000 characters and VarChar can only be 8K there is a very real possibility of data loss in some cases. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 9:56 AM To: dba-sqlserver at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: [dba-SQLServer] NVARCHAR turned into Text(255) in Access I uploaded my billing database to SQL Server the other day. The process worked perfectly AFAICT, however SQL Server turned my memo field into a nvarchar, which when linked back into ACCESS, was now being converted to a TEXT(255). Needless to say, this was not my intention, nor is it acceptable. Has anyone ever run into this? Known solutions? John W. Colby Colby Consulting www.ColbyConsulting.com From Patricia.O'Connor at otda.state.ny.us Wed May 2 11:35:24 2007 From: Patricia.O'Connor at otda.state.ny.us (O'Connor, Patricia (OTDA)) Date: Wed, 2 May 2007 12:35:24 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <0J9300G0GHCPHXA1@l-daemon> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon> Message-ID: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. From Lambert.Heenan at AIG.com Wed May 2 11:54:22 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Wed, 2 May 2007 12:54:22 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> Don't worry. It's all just part of the M$ plot to monopolize the multi-media world in an effort to catch up with Apple (for beating M$ to the gun with audio sales). Now we'll all have to pay more for hardware and software because the manufacturers are caving in to M$ and it's demands for DRM-everything. ;-( Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 12:35 PM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- 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 May 2 12:04:28 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 2 May 2007 13:04:28 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20693FE33@xlivmbx35.aig.com> Message-ID: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> One of the several reasons I deem an investment of one day a week in Linux to be a strategically correct play. I haven't got a single customer on that platform, but I do have a couple of boxes running versions (Ubuntu on one and Suse Enterprise 10.1 on another). To date my biggest beef has been the absence of something as easy to use as Access. But Base, in the current rev. of OpenOffice, comes close. On 5/2/07, Heenan, Lambert wrote: > > Don't worry. It's all just part of the M$ plot to monopolize the > multi-media > world in an effort to catch up with Apple (for beating M$ to the gun with > audio sales). > > Now we'll all have to pay more for hardware and software because the > manufacturers are caving in to M$ and it's demands for DRM-everything. > > ;-( > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 12:35 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by > the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad > product > manager for Lenovo. > > Thanks > > > ************************************************** > * Patricia O'Connor > * Associate Computer Programmer Analyst > * OTDA - BDMA > * (W) mailto:Patricia.O'Connor at otda.state.ny.us > * (w) mailto:aa1160 at nysemail.state.ny.us > ************************************************** > -------------------------------------------------------- > This e-mail, including any attachments, may be confidential, privileged or > otherwise legally protected. It is intended only for the addressee. If you > received this e-mail in error or from someone who was not authorized to > send > it to you, do not disseminate, copy or otherwise use this e-mail or its > attachments. Please notify the sender immediately by reply e-mail and > delete the e-mail from your system. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 askolits at ot.com Wed May 2 12:33:35 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 13:33:35 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <11027330.265781178117556497.JavaMail.www@wwinf3101> Message-ID: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 2 12:35:53 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 10:35:53 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: References: <000901c78cbd$90310df0$7d7d6c4c@jisshowsbs.local><009b01c78cc8$be6a3dd0$6901a8c0@LaptopXP> Message-ID: We've found the same problem with the default set to a virtual printer, like a fax or pdf printer, too. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gary Kjos Sent: Wednesday, May 02, 2007 8:06 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Do the other users have the same default printer? Is the default printer a multifunction printer/copier/scanner/fax machine? My system and other users here where I work have this same issue if the default printer is set to a multifunction device rather than a plain printer. Try changing the default to a different printer and see if that cures it. You can still print to the multifunction printer, it just can't be the default. GK On 5/2/07, John Skolits wrote: > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no > print Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their > network and this problem doesn't happen when other people use their > Log-in on the same PC. > > The only other new thing is that this PC has Adobe 8 which > automatically added the Adobe Acrobat printing feature to the Access > menus. We are thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > 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 garykjos at gmail.com Wed May 2 12:40:21 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 2 May 2007 12:40:21 -0500 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> References: <11027330.265781178117556497.JavaMail.www@wwinf3101> <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: Looks like she gets her own printer then eh? ;-) The weirdness continues. GK On 5/2/07, John Skolits wrote: > Here's what my customer found out. > > ----- > > The problem is defiantly linked to the printer. However her default > printer is not a multifunction device, just a standard HP network printer. > If I set her default printer to "Acrobat PDF" it works, when I set it back > to any of our network printers it does not. If I give her administrative > access to her PC it works with the network printer (Not a good solution). > I've checked all other users and they're either printing to a local printer > or have admin access to their PC. So there seems to be an issue with > network printers and non-admin access.hrmm > > > ---- > > So that's the latest. > > Thanks, > > John > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > paul.hartland at fsmail.net > Sent: Wednesday, May 02, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] No Print dialog box and new Acrobat > Importance: High > > John, > > Have you got the user to log on, on a different PC to see if they can print > then ? > > Paul > > > > > > Message Received: May 02 2007, 03:47 PM > From: "John Skolits" > To: "'Access Developers discussion and problem solving'" > Cc: > Subject: [AccessD] No Print dialog box and new Acrobat > > Anyone ever run into this. > > I have a customer who added a user. > They get a 2501 error when running any report. > After further testing, it turns out they can't print anything from Access. > When they try to print from a table or query, nothing happens, no print > Dialog Box. They do have a default printer. > > Yet, they 'can' print from Word or notepad. > > Here's the real interesting thing. This s a brand new user to their network > and this problem doesn't happen when other people use their Log-in on the > same PC. > > The only other new thing is that this PC has Adobe 8 which automatically > added the Adobe Acrobat printing feature to the Access menus. We are > thinking this may be related to the problem. > > Ideas? > > John > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > > > > Paul Hartland > paul.hartland at fsmail.net > 07730 523179 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 ebarro at verizon.net Wed May 2 12:42:14 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 10:42:14 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: <0JHF0076ED79UTL0@vms040.mailsrvcs.net> John, I guess you better tell your customer to get rid of this "defiant" printer...can't have any defiant printers on the network now can we? ;) Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From ebarro at verizon.net Wed May 2 12:48:37 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 10:48:37 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> Message-ID: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From jwcolby at colbyconsulting.com Wed May 2 12:51:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 13:51:25 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0076ED79UTL0@vms040.mailsrvcs.net> References: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> <0JHF0076ED79UTL0@vms040.mailsrvcs.net> Message-ID: <007c01c78ce2$813e26a0$657aa8c0@m6805> Maybe it's just a deviant printer. Deviant is pretty much constitutionally protected so they may not be able to get rid of that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:42 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat John, I guess you better tell your customer to get rid of this "defiant" printer...can't have any defiant printers on the network now can we? ;) Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 12:55:13 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 13:55:13 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> References: <012e01c78ce0$0381a720$6901a8c0@LaptopXP> <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <007d01c78ce3$097ed3c0$657aa8c0@m6805> Now THAT is cool. I had a network printer but it was such a PITA to use I never got it functioning on the network. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:49 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From askolits at ot.com Wed May 2 12:58:03 2007 From: askolits at ot.com (John Skolits) Date: Wed, 2 May 2007 13:58:03 -0400 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <014801c78ce3$6e2b3a20$6901a8c0@LaptopXP> That's not a bad idea. I'll pass it along. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 1:49 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From john at winhaven.net Wed May 2 13:12:53 2007 From: john at winhaven.net (John Bartow) Date: Wed, 2 May 2007 13:12:53 -0500 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon> <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Message-ID: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Have my doubts - HP & Dell have both stating offering the publics preloaded Windows XP on their PCs again (they weren't doing for awhile). And Windows 2000 is still supported. Doesn't make sense in the overall scheme of the way things happen. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 11:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. From jwcolby at colbyconsulting.com Wed May 2 13:34:30 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:34:30 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <0JHF009HW71PEG10@vms048.mailsrvcs.net> References: <006101c78ccd$8bc36050$657aa8c0@m6805> <0JHF009HW71PEG10@vms048.mailsrvcs.net> Message-ID: <008101c78ce8$85f9f240$657aa8c0@m6805> I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Wed May 2 13:43:28 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 02 May 2007 11:43:28 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008101c78ce8$85f9f240$657aa8c0@m6805> Message-ID: <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> John, .NET binaries cannot be registered the same way as COM binaries. In your VS.NET project right click on the References tree and then click Add Reference. On the .NET tab click Browse and then locate ICSharpCode.SharpZipLib.DLL. This takes care of "registering" the .NET binary and also copies ICSharpCode.SharpZipLib.DLL to your project's BIN folder. Click on the + sign beside References and you will notice that VS.NET has added a reference to the ICSharpCode.SharpZipLib.DLL. You can then access the objects in that DLL on your projects. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM From jwcolby at colbyconsulting.com Wed May 2 13:44:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:44:25 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> References: <456266FA.4050804@shaw.ca> <0J9300G0GHCPHXA1@l-daemon><01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Message-ID: <008201c78ce9$e8f0c3f0$657aa8c0@m6805> >Doesn't make sense in the overall scheme of the way things happen. Unfortunately it does. Microsoft had already cut off all XP installs on their OEM clients back around the 1st of January. Apparently DELL leaned on them to allow DELL (specifically) to go back to XP preloaded machines, but you know that MS does not like it and wants to force Vista out there. MS can and will if they so desire force the vendors to stop preloading XP on channel machines. MS holds the cards here and they want XP out of new machines if for no other reason than that they have to support it for that much longer. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 02, 2007 2:13 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Have my doubts - HP & Dell have both stating offering the publics preloaded Windows XP on their PCs again (they weren't doing for awhile). And Windows 2000 is still supported. Doesn't make sense in the overall scheme of the way things happen. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 11:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 13:53:33 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 14:53:33 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> References: <008101c78ce8$85f9f240$657aa8c0@m6805> <0JHF009E0G1GHXM0@vms048.mailsrvcs.net> Message-ID: <008301c78ceb$2f7b2030$657aa8c0@m6805> Eric, Thanks for that. I was in there before but I failed to poke around long enough. I needed to click the browse tab and go find the thing. Done and thanks for the help. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 2:43 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, .NET binaries cannot be registered the same way as COM binaries. In your VS.NET project right click on the References tree and then click Add Reference. On the .NET tab click Browse and then locate ICSharpCode.SharpZipLib.DLL. This takes care of "registering" the .NET binary and also copies ICSharpCode.SharpZipLib.DLL to your project's BIN folder. Click on the + sign beside References and you will notice that VS.NET has added a reference to the ICSharpCode.SharpZipLib.DLL. You can then access the objects in that DLL on your projects. Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From reuben at gfconsultants.com Wed May 2 14:06:57 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Wed, 2 May 2007 15:06:57 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <008201c78ce9$e8f0c3f0$657aa8c0@m6805> Message-ID: I promise you can stll get XP from Compaq/HP as I just recently ordered two computers with XP installed. I guess I should go ahead and replace my laptop now so I can be sure that I can get XP in it as well. Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of JWColby > Sent: Wednesday, May 02, 2007 2:44 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > > >Doesn't make sense in the overall scheme of the way things happen. > > Unfortunately it does. Microsoft had already cut off all XP installs on > their OEM clients back around the 1st of January. Apparently > DELL leaned on > them to allow DELL (specifically) to go back to XP preloaded machines, but > you know that MS does not like it and wants to force Vista out there. MS > can and will if they so desire force the vendors to stop preloading XP on > channel machines. MS holds the cards here and they want XP out of new > machines if for no other reason than that they have to support it for that > much longer. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow > Sent: Wednesday, May 02, 2007 2:13 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > Have my doubts - HP & Dell have both stating offering the publics > preloaded > Windows XP on their PCs again (they weren't doing for awhile). And Windows > 2000 is still supported. Doesn't make sense in the overall scheme > of the way > things happen. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 11:35 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP > OEM by the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior > ThinkPad product > manager for Lenovo. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 2 14:21:18 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 2 May 2007 23:21:18 +0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008101c78ce8$85f9f240$657aa8c0@m6805> Message-ID: <000301c78cef$0f9e6660$6401a8c0@nant> John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 accessd at shaw.ca Wed May 2 14:33:23 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 12:33:23 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> Message-ID: <0JHF00KXYI53P7C0@l-daemon> It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 14:47:49 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 15:47:49 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <000301c78cef$0f9e6660$6401a8c0@nant> References: <008101c78ce8$85f9f240$657aa8c0@m6805> <000301c78cef$0f9e6660$6401a8c0@nant> Message-ID: <008701c78cf2$c4ef4d60$657aa8c0@m6805> >- use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... And there is a batch file in the zip of the component that supposedly registers this using a gacutil. Unfortunately I can not get it to to perform as it is apparently supposed to. The batch file immediately does a CD to bin and then tries to execute gacutil but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. There is no readme.txt that tells me that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 3:21 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 cfoust at infostatsystems.com Wed May 2 14:54:53 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 2 May 2007 12:54:53 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <0JHF00KXYI53P7C0@l-daemon> References: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet> <0JHF00KXYI53P7C0@l-daemon> Message-ID: Yup, same way NT, 2000, and XP forced people into new machines. Definitely a conspiracy! :-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 02, 2007 12:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Wed May 2 15:06:42 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 13:06:42 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> Message-ID: <0JHF00MD0JOONTH0@l-daemon> This is not to say that I am not a devoted MS Windows user as most of my time and applications are developed on the Windows platform but there is an alternative. For those who would consider going the Linux route may I suggest trying Ubuntu 7.04 (with Debean core)... it is still in beta but has reported no errors other than problems with clustering. The package is simpler to install that Windows, automatically does updates, even installs all the sound and video codecs. For those who are basic users the package is easy to use with a full Office, graphic apps etc. The OS automatically connects to all the local Windows servers, stations and printers and even support Active directory. If you do require the use of Windows applications or even the OS; it can all run through an easily downloadable Windows Emulator or Virtual PC. It also has a Remote Desktop package that will allow you to administer a remote Windows desktop or server computer. If this all is not enough, it is fast... a rough estimate puts it's about 20% quicker with desktop apps. This build is not just a simple Desktop as it can run such packages as Oracle 10g Enterprise. One fellow in town has a clustered array of about 50 servers running his business using Ubuntu 6.x. If you wish to investigate the OS, just download it, burn it to DVD and then you can test and run it from you DVD player to see if you like it before installing it. If you do decide to install it on a computer that has Windows already, it discretely installs in an unused area, on the disk, in a new partition and creates a dual boot. (You can set the default boot to either be Ubuntu or Windows.) I do not recommends that everyone run over to this distribution of Linux but if anyone is curious, heard that Linux was only for UNIX gurus will pleasantly surprised. Another 2 cent worth. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 02, 2007 10:04 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT - VISTA only and XP Phase out? One of the several reasons I deem an investment of one day a week in Linux to be a strategically correct play. I haven't got a single customer on that platform, but I do have a couple of boxes running versions (Ubuntu on one and Suse Enterprise 10.1 on another). To date my biggest beef has been the absence of something as easy to use as Access. But Base, in the current rev. of OpenOffice, comes close. On 5/2/07, Heenan, Lambert wrote: > > Don't worry. It's all just part of the M$ plot to monopolize the > multi-media > world in an effort to catch up with Apple (for beating M$ to the gun with > audio sales). > > Now we'll all have to pay more for hardware and software because the > manufacturers are caving in to M$ and it's demands for DRM-everything. > > ;-( > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 12:35 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by > the > end of this year, despite consumer resistance to Vista and its > compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad > product > manager for Lenovo. > > Thanks > > > ************************************************** > * Patricia O'Connor > * Associate Computer Programmer Analyst > * OTDA - BDMA > * (W) mailto:Patricia.O'Connor at otda.state.ny.us > * (w) mailto:aa1160 at nysemail.state.ny.us > ************************************************** > -------------------------------------------------------- > This e-mail, including any attachments, may be confidential, privileged or > otherwise legally protected. It is intended only for the addressee. If you > received this e-mail in error or from someone who was not authorized to > send > it to you, do not disseminate, copy or otherwise use this e-mail or its > attachments. Please notify the sender immediately by reply e-mail and > delete the e-mail from your system. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Wed May 2 15:09:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 02 May 2007 13:09:51 -0700 Subject: [AccessD] No Print dialog box and new Acrobat In-Reply-To: <0JHF0026MDHTWSR4@vms046.mailsrvcs.net> Message-ID: <0JHF00MO5JTWNTH0@l-daemon> Hi Eric: Of course that is right. That should work with issues. Very astute. jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat When you set up the HP network printer add a local port that corresponds to the IP address of that network resource instead of browsing the network to connect to that network resource. Add Printer Wizard->Local printer attached to this computer->Create a new port->Standard TCP/IP Port Specify the IP address and the printer wizard will create the Port Name for you and you should be set. As far as Windows is concerned it will route local print jobs to the IP port which then routes it to the printer hanging off of that IP address. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 02, 2007 10:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] No Print dialog box and new Acrobat Here's what my customer found out. ----- The problem is defiantly linked to the printer. However her default printer is not a multifunction device, just a standard HP network printer. If I set her default printer to "Acrobat PDF" it works, when I set it back to any of our network printers it does not. If I give her administrative access to her PC it works with the network printer (Not a good solution). I've checked all other users and they're either printing to a local printer or have admin access to their PC. So there seems to be an issue with network printers and non-admin access.hrmm ---- So that's the latest. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, May 02, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] No Print dialog box and new Acrobat Importance: High John, Have you got the user to log on, on a different PC to see if they can print then ? Paul Message Received: May 02 2007, 03:47 PM From: "John Skolits" To: "'Access Developers discussion and problem solving'" Cc: Subject: [AccessD] No Print dialog box and new Acrobat Anyone ever run into this. I have a customer who added a user. They get a 2501 error when running any report. After further testing, it turns out they can't print anything from Access. When they try to print from a table or query, nothing happens, no print Dialog Box. They do have a default printer. Yet, they 'can' print from Word or notepad. Here's the real interesting thing. This s a brand new user to their network and this problem doesn't happen when other people use their Log-in on the same PC. The only other new thing is that this PC has Adobe 8 which automatically added the Adobe Acrobat printing feature to the Access menus. We are thinking this may be related to the problem. Ideas? John -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Paul Hartland paul.hartland at fsmail.net 07730 523179 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/784 - Release Date: 5/1/2007 2:57 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 2 15:08:34 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:08:34 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: References: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet><0JHF00KXYI53P7C0@l-daemon> Message-ID: <008801c78cf5$a9f5c180$657aa8c0@m6805> And from my perspective, IN THE END it is worthwhile. DOS pretty much sucked as a platform for running programs. We are visual animals and screens of text are tough to interpret. Windows changed all that, but placed demands on machines that forced upgrades. Se la vie. Windows 95 pretty much sucked (relative to what came after) but forced upgrades. Etc. etc. XP / 2K is the very first Windows version IMHO that was even close to stable and capable of running well FOR THE MASSES. Yea, yea, yea, we all know someone who used 98 with no problems, not the point. Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 02, 2007 3:55 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Yup, same way NT, 2000, and XP forced people into new machines. Definitely a conspiracy! :-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 02, 2007 12:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? It is a little early to voice any concerns but the latest Vista does not support a number of my priority one applications. Some Adobe graphic software packages, DIVX player, Hamachi VPN, Symantec Virus scanner and even my current version of FireFox, to name a few, all have issues with Vista. The hardware requirements for space, memory and capability with build-in sound, LAN and video cards could also become an issue. This may all be a "Tempest in a Tea Pot" but only a new computer can support the product and there are issues with various hardware and software packages but if I was looking for a good conspiracy, it could be suggested that this product will force a user to re-invest in a number of the latest software programs and tighten MS's control over the desktop all in the pretext of security. In my case it would cost a fair chunk to upgrade. My 2 cents worth, Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, Patricia (OTDA) Sent: Wednesday, May 02, 2007 9:35 AM To: Access Developers discussion and problem solving Subject: [AccessD] OT - VISTA only and XP Phase out? Is the following true? This could severely effect many needing new pc but having many older versions. Windows XP to be phased out by year's end despite customer demand Computer makers have been told they'll no longer be able to get Windows XP OEM by the end of this year, despite consumer resistance to Vista and its compatibility problems. By early 2008, Microsoft's contracts with computer makers will require companies to only sell Vista-loaded machines. "The OEM version of XP Professional goes next January," said Frank Luburic, senior ThinkPad product manager for Lenovo. Thanks ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 2 15:28:28 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 3 May 2007 00:28:28 +0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008701c78cf2$c4ef4d60$657aa8c0@m6805> Message-ID: <000001c78cf8$7317b4e0$6401a8c0@nant> John, To use gacutil.exe your .NET component classlib assembly has to be signed using strong name generated by sn.exe utility - did you do that? Anyway while you're just starting with VB.NET classlibs using local copy is safe and easy way to proceed now until you get enough experience with sn.exe and gacutil.exe... <<< but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. >>> gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that it registers it in GAC and also physically copies it there. And GAC can keep several versions of your components... When your .NET component is installed in GAC then you can reference it from your projects. You can also reference your .NET components without installing them in GAC. In both cases you can have CopyLocal flag set then you'll get the component copied on compile/build time into your /Bin (or whatever you call it) folder where your client (FE/Utility) executable/component is getting built. Then you can just XCopy this /Bin folder's contents to your customer site. If you do not use CopyLocal flag and if your have your component registered locally in GAC and referenced from your client (FE/Utility) project then you will have to register this referenced component on customer's site using gacutil. Then your client (FE/Utility) executable/library will find registered in GAC component on runtime... Easy... (?!) Well, not that easy when you will find you wanted to have several versions of your .NET component installed in GAC and using different versions of .NET framework etc - all that is possible but should be better avoided as deployment scenarios in the beginning... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 11:48 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL >- use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... And there is a batch file in the zip of the component that supposedly registers this using a gacutil. Unfortunately I can not get it to to perform as it is apparently supposed to. The batch file immediately does a CD to bin and then tries to execute gacutil but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. There is no readme.txt that tells me that. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 3:21 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, If you use your component classlib from within VS (VB.NET, C#, C++/CLI) applications then you can: - use local copy of this components with every installation of your FE app, utility/service app etc.; - use global version of this components - then you have to register your classlib .NET component in GAC (Global Assembly Cache) - see sn.exe (http://msdn2.microsoft.com/en-us/library/k5b5tt23(vs.71).aspx) and gacutil.exe (http://msdn2.microsoft.com/en-us/library/ex0ss12c(vs.71).aspx) for more details... If you use your COM-exposed .NET component classlib from within COM application (MS Access, VB6 etc.) then you have to use RegAsm.exe to extract COM typelib from it and to register it - see MSDN for more details - http://msdn2.microsoft.com/en-us/library/tzat5yw6(vs.71).aspx -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 10:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL I copied this ICSharpCode.SharpZipLib.DLL to my windows\system32 directory and tried to register it but it gave an error "no load point" or something similar. As a result the reference wizard inside of VSS cannot find it in the list (which probably comes from the registry). Aint computin fun? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 02, 2007 11:30 AM To: dba-vb at databaseadvisors.com; 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL In VS.NET you create a reference to the DLL and when you compile your project it puts it in the BIN folder. When you create a setup you specify all the files it needs and the setup program knows where to copy it on the target machine. I believe I've covered this in a previous email about where .NET stored the binaries. -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 8:21 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - using an outside DLL I am looking at using the ICSharpCode.Sharplib.DLL for its unzip stuff. This is actually something that is going to go on the server I am building the project on but might also go on another machine. My question in general is where do you place a component like this in the .Net universe? Do you place it in Windows\System32 like you would all other DLLs? Do you place it in the framework directory? Do you place it in the project specifically using it? Regardless of where you place it, how is it "gathered up, and then reinstalled" on another machine as a project is migrated to another machine? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb 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 lmrazek at lcm-res.com Wed May 2 15:30:15 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 2 May 2007 15:30:15 -0500 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <0JHF00MD0JOONTH0@l-daemon> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com> <0JHF00MD0JOONTH0@l-daemon> Message-ID: <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From jwcolby at colbyconsulting.com Wed May 2 15:51:44 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:51:44 -0400 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <000001c78cf8$7317b4e0$6401a8c0@nant> References: <008701c78cf2$c4ef4d60$657aa8c0@m6805> <000001c78cf8$7317b4e0$6401a8c0@nant> Message-ID: <008901c78cfb$b1c6bc60$657aa8c0@m6805> Shamil, Thanks for that info. I will make sure that "localcopy" is set and not worry about it for now. I am going to be doing a simple xcopy kind of install for the immediate future. Again, many thanks for the response. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 02, 2007 4:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL John, To use gacutil.exe your .NET component classlib assembly has to be signed using strong name generated by sn.exe utility - did you do that? Anyway while you're just starting with VB.NET classlibs using local copy is safe and easy way to proceed now until you get enough experience with sn.exe and gacutil.exe... <<< but that begs the question of where I am supposed to place this stuff initially in order for that to work correctly. >>> gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that it registers it in GAC and also physically copies it there. And GAC can keep several versions of your components... When your .NET component is installed in GAC then you can reference it from your projects. You can also reference your .NET components without installing them in GAC. In both cases you can have CopyLocal flag set then you'll get the component copied on compile/build time into your /Bin (or whatever you call it) folder where your client (FE/Utility) executable/component is getting built. Then you can just XCopy this /Bin folder's contents to your customer site. If you do not use CopyLocal flag and if your have your component registered locally in GAC and referenced from your client (FE/Utility) project then you will have to register this referenced component on customer's site using gacutil. Then your client (FE/Utility) executable/library will find registered in GAC component on runtime... Easy... (?!) Well, not that easy when you will find you wanted to have several versions of your .NET component installed in GAC and using different versions of .NET framework etc - all that is possible but should be better avoided as deployment scenarios in the beginning... -- Shamil From jwcolby at colbyconsulting.com Wed May 2 15:55:48 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 2 May 2007 16:55:48 -0400 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com><0JHF00MD0JOONTH0@l-daemon> <003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> Message-ID: <008a01c78cfc$43552810$657aa8c0@m6805> AFAIK, simply linking to a table will not cause corruptions. May I suggest however that you immediately create a QUERY that pulls the fields needed (or the whole table for that matter) and then set the Recordset Type property of the query to Snapshot. A snapshot is a read-only recordset and going through a query that is set to snapshot will absolutely prevent any write backs to the data table, at least for anything using that query. There are "corruptions" and then there are inadvertent writes which are, of course also "corruptions". A snapshot query will prevent the second type of corruption. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Wednesday, May 02, 2007 4:30 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Linking to a Dbase File Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 2 16:30:38 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 2 May 2007 16:30:38 -0500 Subject: [AccessD] Linking to a Dbase File In-Reply-To: <008a01c78cfc$43552810$657aa8c0@m6805> References: <29f585dd0705021004n1832b1d4o23703ba76f41f43c@mail.gmail.com><0JHF00MD0JOONTH0@l-daemon><003c01c78cf8$b31a1ec0$056fa8c0@lcmdv8000> <008a01c78cfc$43552810$657aa8c0@m6805> Message-ID: <005701c78d01$22836a70$056fa8c0@lcmdv8000> Thanks Jim. Good idea regarding the snapshot query. I haven't had much experience working with dbase, other than straight imports and I'm a bit leary of messing something up! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 02, 2007 3:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Linking to a Dbase File AFAIK, simply linking to a table will not cause corruptions. May I suggest however that you immediately create a QUERY that pulls the fields needed (or the whole table for that matter) and then set the Recordset Type property of the query to Snapshot. A snapshot is a read-only recordset and going through a query that is set to snapshot will absolutely prevent any write backs to the data table, at least for anything using that query. There are "corruptions" and then there are inadvertent writes which are, of course also "corruptions". A snapshot query will prevent the second type of corruption. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Wednesday, May 02, 2007 4:30 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Linking to a Dbase File Hi: Can simply linking to a Dbase table cause corruption on the dbase table? All I need to do is query the table, no adds/updates or deletes. (I'll have to join the table with a local Access table, that's all). Anyone have any experience with this, or any tips? I can read the dbase file using oledb, but then I can't join it to the local Access table. Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Wed May 2 16:49:49 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 03 May 2007 07:49:49 +1000 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> References: <456266FA.4050804@shaw.ca>, <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE25@EXCNYSM0A1AI.nysemail.nyenet>, <000c01c78ce5$80e9e4c0$6402a8c0@ScuzzPaq> Message-ID: <4639077D.23088.43149B80@stuart.lexacorp.com.pg> And Dell are offering Ubuntu pre-installed instwead of Windows: http://www.theregister.co.uk/2007/05/01/dell_linux_lives/ On 2 May 2007 at 13:12, John Bartow wrote: > Have my doubts - HP & Dell have both stating offering the publics preloaded > Windows XP on their PCs again (they weren't doing for awhile). And Windows > 2000 is still supported. Doesn't make sense in the overall scheme of the way > things happen. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of O'Connor, > Patricia (OTDA) > Sent: Wednesday, May 02, 2007 11:35 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] OT - VISTA only and XP Phase out? > > Is the following true? This could severely effect many needing new pc but > having many older versions. > > > Windows XP to be phased out by year's end despite customer demand Computer > makers have been told they'll no longer be able to get Windows XP OEM by the > end of this year, despite consumer resistance to Vista and its compatibility > problems. > > By early 2008, Microsoft's contracts with computer makers will require > companies to only sell Vista-loaded machines. "The OEM version of XP > Professional goes next January," said Frank Luburic, senior ThinkPad product > manager for Lenovo. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From martyconnelly at shaw.ca Wed May 2 18:08:14 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 02 May 2007 16:08:14 -0700 Subject: [AccessD] [dba-VB] VB.Net - using an outside DLL In-Reply-To: <008901c78cfb$b1c6bc60$657aa8c0@m6805> References: <008701c78cf2$c4ef4d60$657aa8c0@m6805> <000001c78cf8$7317b4e0$6401a8c0@nant> <008901c78cfb$b1c6bc60$657aa8c0@m6805> Message-ID: <463919DE.5050001@shaw.ca> I use an install batch file that looks like this for your dll MyProgram.dll The new tlb will be created under MyPath There are probably better ways. gacutil -u MyProgram regasm /u "MyPath\MyProgram.dll" regasm "MyPath\MyProgram.dll" regasm /tlb "MyPath\MyProgram.dll" gacutil -i "MyPath\MyProgram.dll" JWColby wrote: >Shamil, > >Thanks for that info. I will make sure that "localcopy" is set and not worry >about it for now. I am going to be doing a simple xcopy kind of install for >the immediate future. > >Again, many thanks for the response. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil >Salakhetdinov >Sent: Wednesday, May 02, 2007 4:28 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] [dba-VB] VB.Net - using an outside DLL > >John, > >To use gacutil.exe your .NET component classlib assembly has to be signed >using strong name generated by sn.exe utility - did you do that? > >Anyway while you're just starting with VB.NET classlibs using local copy is >safe and easy way to proceed now until you get enough experience with sn.exe >and gacutil.exe... > ><<< >but that begs the question of >where I am supposed to place this stuff initially in order for that to work >correctly. > > >gacutil.exe (see MSDN) installs your assembly in GAC - "installs" means that >it registers it in GAC and also physically copies it there. And GAC can keep >several versions of your components... > >When your .NET component is installed in GAC then you can reference it from >your projects. > >You can also reference your .NET components without installing them in GAC. > >In both cases you can have CopyLocal flag set then you'll get the component >copied on compile/build time into your /Bin (or whatever you call it) folder >where your client (FE/Utility) executable/component is getting built. Then >you can just XCopy this /Bin folder's contents to your customer site. > >If you do not use CopyLocal flag and if your have your component registered >locally in GAC and referenced from your client (FE/Utility) project then you >will have to register this referenced component on customer's site using >gacutil. Then your client (FE/Utility) executable/library will find >registered in GAC component on runtime... > >Easy... (?!) > >Well, not that easy when you will find you wanted to have several versions >of your .NET component installed in GAC and using different versions of .NET >framework etc - all that is possible but should be better avoided as >deployment scenarios in the beginning... > >-- >Shamil > > > -- Marty Connelly Victoria, B.C. Canada From Gustav at cactus.dk Thu May 3 03:11:02 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 03 May 2007 10:11:02 +0200 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. From accessd666 at yahoo.com Thu May 3 03:27:02 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 01:27:02 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: <341911.81757.qm@web31607.mail.mud.yahoo.com> Hi Charlotte, what's the MS CodeLibrarian. Found some articles on the internet about it but not much. What is this thing? Thanks In Advance! Sander --- Charlotte Foust wrote: > I had the 97 and 2000 versions of their sourcebook > and never thought it > was worth the price. The .Net product may be > better, but I wouldn't > count on that. I generally copy and paste my own > code from the MS > CodeLibrarian or something similar, when I'm not > scavenging for ways to > do something totally unfamiliar. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of William > Hindman > Sent: Wednesday, May 02, 2007 6:39 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Sad > > ...I have a great deal of respect for FMS and most > of their tools ...but > their source book is just a compendium of code > solutions in a nice > little code library ...all of which are readily > available to you right > here or in our archives ...often with better > explanations and > alternative solutions ...I have their source book > for '97 and just never > really used it that often because AccessD was always > quicker and better > imnsho ...and thus when I upgraded some of their > other tools I didn't > feel source book was worth the extra cost ...others > here may differ > ...and my opinion is worth exactly what it cost you > ...hth. > > ...btw, they have a small collection of free tools > for A97 on their site > that they've never upgraded ...but if you dl them > and look at the > source, they are easily fixed to work with A2003. > > William Hindman > > ----- Original Message ----- > From: "Sad Der" > To: "Acces User Group" > > Sent: Wednesday, May 02, 2007 7:46 AM > Subject: [AccessD] FMS Inc. Sourcebook > > > > Hi, > > > > Does anybody have experience with FMS Inc. (.Net) > > Sourcebook? > > > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > > > E.g.: > > - is it workable when working on a project? > > - what problems did you face with implementation? > > - is it being used by multiple developers? > > - etc. > > > > Are there good alternatives? > > > > TIA > > > > Sander > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From fuller.artful at gmail.com Thu May 3 06:53:01 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 07:53:01 -0400 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur From fuller.artful at gmail.com Thu May 3 07:04:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 08:04:47 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <341911.81757.qm@web31607.mail.mud.yahoo.com> References: <341911.81757.qm@web31607.mail.mud.yahoo.com> Message-ID: <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on > the internet about it but not much. What is this > thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook > > and never thought it > > was worth the price. The .Net product may be > > better, but I wouldn't > > count on that. I generally copy and paste my own > > code from the MS > > CodeLibrarian or something similar, when I'm not > > scavenging for ways to > > do something totally unfamiliar. > > > > Charlotte Foust > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On > > Behalf Of William > > Hindman > > Sent: Wednesday, May 02, 2007 6:39 AM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] FMS Inc. Sourcebook > > > > Sad > > > > ...I have a great deal of respect for FMS and most > > of their tools ...but > > their source book is just a compendium of code > > solutions in a nice > > little code library ...all of which are readily > > available to you right > > here or in our archives ...often with better > > explanations and > > alternative solutions ...I have their source book > > for '97 and just never > > really used it that often because AccessD was always > > quicker and better > > imnsho ...and thus when I upgraded some of their > > other tools I didn't > > feel source book was worth the extra cost ...others > > here may differ > > ...and my opinion is worth exactly what it cost you > > ...hth. > > > > ...btw, they have a small collection of free tools > > for A97 on their site > > that they've never upgraded ...but if you dl them > > and look at the > > source, they are easily fixed to work with A2003. > > > > William Hindman > > > > ----- Original Message ----- > > From: "Sad Der" > > To: "Acces User Group" > > > > Sent: Wednesday, May 02, 2007 7:46 AM > > Subject: [AccessD] FMS Inc. Sourcebook > > > > > > > Hi, > > > > > > Does anybody have experience with FMS Inc. (.Net) > > > Sourcebook? > > > > > > http://www.fmsinc.com/dotnet/SourceBook_1x/index.asp#share > > > > > > E.g.: > > > - is it workable when working on a project? > > > - what problems did you face with implementation? > > > - is it being used by multiple developers? > > > - etc. > > > > > > Are there good alternatives? > > > > > > TIA > > > > > > Sander > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Tired of spam? Yahoo! Mail has the best spam > > protection around > > > http://mail.yahoo.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 > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Thu May 3 07:07:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:07:11 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> Message-ID: <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> The issue here is "minutes of inactivity". In order to measure time in Access a form somewhere has to be running a timer. There is absolutely nothing AFAIK built in to Access that "measures activity". In order to measure activity... You have to define activity. Mouse movements? Keystrokes? These are the two most common. Keystrokes are fairly easy, you intercept the key down and set a "last activity time" global date variable. Mouse movement however is much harder. For that you will need a framework which uses class wrappers around forms and controls (or at least the form). Having that you can sink the mouse move event for the form and controls and set the same global "last activity time" global date variable. Having a "last activity time" variable you can now use that timer tick I mentioned in the second sentence to see how long since the last activity. All in all not a 10 minute project, but it is doable. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 07:32:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:32:54 -0400 Subject: [AccessD] Calling a stored procedure from Access Message-ID: <00c101c78d7f$30fd5420$657aa8c0@m6805> I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From fuller.artful at gmail.com Thu May 3 07:33:56 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 3 May 2007 08:33:56 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com> <00bd01c78d7b$9ac7aee0$657aa8c0@m6805> Message-ID: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Thanks, JC. My friend is an occasional visitor to this group, and has been here enough to know some of the more frequent names. I told him when he asked that you and/or Shamil would know how to do this. I'm forwarding your message to my friend now. I'm not sure how, in the absence of an entire framework, he should create the wrappers for mouse-move and click, but maybe the keydown will be enough for his requirements. So it would work something like this? Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the form visible in dialog mode. Counts password attempts to three. If still no valid password, then Application.Shutdown; else hide the form and let the user proceed. I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? On the other hand, I can't think how else it might work, since the user could conceivably walk away leaving the cursor in the middle of some field while he was adding a new customer or something. Arthur On 5/3/07, JWColby wrote: > > The issue here is "minutes of inactivity". In order to measure time in > Access a form somewhere has to be running a timer. > > There is absolutely nothing AFAIK built in to Access that "measures > activity". In order to measure activity... You have to define activity. > Mouse movements? Keystrokes? These are the two most common. Keystrokes > are fairly easy, you intercept the key down and set a "last activity time" > global date variable. Mouse movement however is much harder. > > For that you will need a framework which uses class wrappers around forms > and controls (or at least the form). Having that you can sink the mouse > move event for the form and controls and set the same global "last > activity > time" global date variable. > > Having a "last activity time" variable you can now use that timer tick I > mentioned in the second sentence to see how long since the last activity. > > All in all not a 10 minute project, but it is doable. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Thursday, May 03, 2007 7:53 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Lock-screen inside an Access app > > A friend asked me how he could put a Windows-like screen lock (that asks > for > a password) inside an Access app. He's thinking that it's a hidden form > that > then appears after x minutes of inactivity and wants a password before > letting the user back into the app. Presumably it would shut the app down > with no valid password. > > Does anyone have an idea how to do this? > > TIA, > 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 jwcolby at colbyconsulting.com Thu May 3 07:57:49 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 08:57:49 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> References: <341911.81757.qm@web31607.mail.mud.yahoo.com> <29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> Message-ID: <00c601c78d82$ac0397d0$657aa8c0@m6805> >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on the internet about > it but not much. What is this thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook and never thought > > it was worth the price. The .Net product may be better, but I > > wouldn't count on that. I generally copy and paste my own code from > > the MS CodeLibrarian or something similar, when I'm not scavenging > > for ways to do something totally unfamiliar. > > > > Charlotte Foust From krosenstiel at comcast.net Thu May 3 08:15:41 2007 From: krosenstiel at comcast.net (Karen Rosenstiel) Date: Thu, 3 May 2007 06:15:41 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: Message-ID: <200705031315.l43DFBep006759@databaseadvisors.com> Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 08:16:32 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 06:16:32 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <00c101c78d7f$30fd5420$657aa8c0@m6805> Message-ID: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From Lambert.Heenan at AIG.com Thu May 3 08:26:27 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:26:27 -0400 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Lambert.Heenan at AIG.com Thu May 3 08:31:03 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:31:03 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> Reformat the drive and install XP or Linux? :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 9:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA From jwcolby at colbyconsulting.com Thu May 3 08:37:52 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:37:52 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> References: <29f585dd0705030453l71478d88r13218ad9bb834c55@mail.gmail.com><00bd01c78d7b$9ac7aee0$657aa8c0@m6805> <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Message-ID: <00cf01c78d88$420f34f0$657aa8c0@m6805> >I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? YES, and that is one of the major design flaws in Access. Timers ticking cause issues with forms flickering, code compile errors for the developer in design view etc. Unfortunately that is what we are given to work with. About the only thing that can be done is to try and set the tick to as long an interval as possible. For example, if the developer wanted to know that a person hasn't done anything in 10 minutes then set the timer to every 10 minutes. This is certainly preferable to setting it to every 10 seconds of course. Fire the timer at the slowest possible rate to perform the task. As for seeing the mouse move, you are correct. Probably a very simple form wrapper would be "good enough". If the mouse is waved around, it is almost certainly going to fire form mouse moves. These kinds of wrappers are easy to set up if they are simple. In the form header dimension the class: Dim fclsFrm as clsFrm In the OnOpen of the form: Private Sub Form_Open(Cancel As Integer) 'SET the class instance Set fclsFrm = new clsFrm 'Pass in a reference to the form using an Init method of the class: fclsFrm.Init Me 'Turn on the event sink for the mouse move Me.OnMouseMove = "[Event Procedure]" 'Turn on the event sink for the Close Event me.OnClose = "[Event Procedure]" End Sub In the code editor, do an Insert / class module. In the class header, dimension a form variable withevents: Option Compare Database Option Explicit Dim withevents mFrm as form 'Now create an Init method with a form parameter Function Init(frm as Form) set mFrm = frm End function 'You have just captured a pointer to the form. Now the class has to sink the mouse move: Private Sub mfrm_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) gdteLastActivity = now() End Sub 'You also need to clean up the pointer to the form in the class as the form closes so create a sink for the OnClose as well: Private Sub mfrm_Close() set mfrm = nothing End Sub Save the class as clsFrm. Create a global variable gDteLastActivity in a module somewhere. Voila, you now have a class sinking the form's mouse move event and setting a global variable with the time of the mouse move. The timer form should be simple enough that I do not need to go into that. OTOH, IF there are no forms using the form timer already, then you could have the form wrapper class itself do the monitoring. In the Init() method add: Function Init(frm as form) 'other stuff already here 'Set the timer interval to 10 minutes (10 * 60,000 milliseconds) me.TimerInterval = 10 * 60 * 1000 'Turn on the timer event sinking me.OnTimer = "[Event Procedure]" End function 'In clsFrm add a timer sink Private Sub Form_Timer() 'THIS IS PSEUDOCODE!!! if now() - gdteLastActivity > 10 minutes then docmd.openform "frmAskAboutActivity" endif End Sub Using something like this, timers would only run if a form is actually open of course. That may be an advantage in some cases (you don't want to shut down if they don't actually have a form open) because there would be no timer ticks unless a form was open. Classes and withevents! Ya gotta love 'em. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:34 AM To: Access Developers discussion and problem solving Cc: asanga at xplornet.com Subject: Re: [AccessD] Lock-screen inside an Access app Thanks, JC. My friend is an occasional visitor to this group, and has been here enough to know some of the more frequent names. I told him when he asked that you and/or Shamil would know how to do this. I'm forwarding your message to my friend now. I'm not sure how, in the absence of an entire framework, he should create the wrappers for mouse-move and click, but maybe the keydown will be enough for his requirements. So it would work something like this? Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the form visible in dialog mode. Counts password attempts to three. If still no valid password, then Application.Shutdown; else hide the form and let the user proceed. I'm a tad concerned about the timer continuing to operate while the user is using the app. Won't it interfere with things? On the other hand, I can't think how else it might work, since the user could conceivably walk away leaving the cursor in the middle of some field while he was adding a new customer or something. Arthur On 5/3/07, JWColby wrote: > > The issue here is "minutes of inactivity". In order to measure time > in Access a form somewhere has to be running a timer. > > There is absolutely nothing AFAIK built in to Access that "measures > activity". In order to measure activity... You have to define activity. > Mouse movements? Keystrokes? These are the two most common. > Keystrokes are fairly easy, you intercept the key down and set a "last activity time" > global date variable. Mouse movement however is much harder. > > For that you will need a framework which uses class wrappers around > forms and controls (or at least the form). Having that you can sink > the mouse move event for the form and controls and set the same global > "last activity time" global date variable. > > Having a "last activity time" variable you can now use that timer tick > I mentioned in the second sentence to see how long since the last activity. > > All in all not a 10 minute project, but it is doable. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur > Fuller > Sent: Thursday, May 03, 2007 7:53 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Lock-screen inside an Access app > > A friend asked me how he could put a Windows-like screen lock (that > asks for a password) inside an Access app. He's thinking that it's a > hidden form that then appears after x minutes of inactivity and wants > a password before letting the user back into the app. Presumably it > would shut the app down with no valid password. > > Does anyone have an idea how to do this? > > TIA, > 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 jwcolby at colbyconsulting.com Thu May 3 08:39:56 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:39:56 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940098@xlivmbx35.aig.com> Message-ID: <00d001c78d88$8c552f10$657aa8c0@m6805> ROTFL!!! I like a pragmatic solution. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Reformat the drive and install XP or Linux? :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 9:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 3 08:40:53 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 03 May 2007 09:40:53 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> Message-ID: <00d201c78d88$ac2eded0$8abea8c0@XPS> Lambert, Here's the one your thinking about: HOW TO: Detect User Idle Time or Inactivity in Access 2000 http://support.microsoft.com/kb/210297 Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Cc: 'fuller.artful at gmail.com' Subject: Re: [AccessD] Lock-screen inside an Access app This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, 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 jwcolby at colbyconsulting.com Thu May 3 08:51:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 09:51:25 -0400 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <00d201c78d88$ac2eded0$8abea8c0@XPS> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940092@xlivmbx35.aig.com> <00d201c78d88$ac2eded0$8abea8c0@XPS> Message-ID: <00d601c78d8a$27796960$657aa8c0@m6805> Well, don't I feel silly. Just goes to show how important it is to get a variety of answers so you don't over engineer a solution. 8~0 And of course, this one will go in my library. Thanks! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Thursday, May 03, 2007 9:41 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lock-screen inside an Access app Lambert, Here's the one your thinking about: HOW TO: Detect User Idle Time or Inactivity in Access 2000 http://support.microsoft.com/kb/210297 Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Cc: 'fuller.artful at gmail.com' Subject: Re: [AccessD] Lock-screen inside an Access app This is quite simple to do and was laid out in some Kb article or other that I read years ago. Because most Access applications are interactive, you don't need to worry about tracking keystrokes or mouse movements. Instead you just need to watch what forms, and controls within those forms are currently active, and this is made very easy by using the Screen object. You can use its ActiveForm and ActiveControl properties to keep tabs on where the user is. This is all done inside a form that you open as hidden, and it has a timer event that checks the user activity. In my apps I simply kick inactive users out, but you could just as easily pop up a modal form that demands a password. Below is the essential code you need in the forms timer event. No need at all for class wrappers and sinking mouse events. HTH Lambert Private Sub Form_Timer() Const IDLEMINUTES = 30 Static PrevControlName As String Static PrevFormName As String Static ExpiredTime As Long Dim ActiveFormName As String Dim ActiveControlName As String Dim ExpiredMinutes As Long On Error Resume Next ' Get the active form and control name. ActiveFormName = Screen.ActiveForm.Name If Err Then ActiveFormName = "No Active Form" Err = 0 End If ActiveControlName = Screen.ActiveControl.Name If Err Then ActiveControlName = "No Active Control" Err = 0 End If ' Record the current active names and reset ExpiredTime if: ' 1. They have not been recorded yet (code is running ' for the first time). ' 2. The previous names are different than the current ones ' (the user has done something different during the timer ' interval). If (PrevControlName = "") Or (PrevFormName = "") _ Or (ActiveFormName <> PrevFormName) _ Or (ActiveControlName <> PrevControlName) Then PrevControlName = ActiveControlName PrevFormName = ActiveFormName ExpiredTime = 0 Else ' ...otherwise the user was idle during the time interval, so ' increment the total expired time. ExpiredTime = ExpiredTime + Me.TimerInterval End If ' Does the total expired time exceed the IDLEMINUTES? ExpiredMinutes = (ExpiredTime / 1000) / 60 If ExpiredMinutes >= IDLEMINUTES Then ' ...if so, then reset the expired time to zero... ExpiredTime = 0 ' AND HERE DO WHATEVER YOU NEED TO DO WHEN A USER HAS ' NOT DONE ANYTHING FOR THE DEFINED IDLEMINUTE PERIOD End If End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 7:53 AM To: Access Developers discussion and problem solving Subject: [AccessD] Lock-screen inside an Access app A friend asked me how he could put a Windows-like screen lock (that asks for a password) inside an Access app. He's thinking that it's a hidden form that then appears after x minutes of inactivity and wants a password before letting the user back into the app. Presumably it would shut the app down with no valid password. Does anyone have an idea how to do this? TIA, 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 Lambert.Heenan at AIG.com Thu May 3 09:00:17 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 09:00:17 -0500 Subject: [AccessD] Lock-screen inside an Access app Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069400AF@xlivmbx35.aig.com> Granted I may be an exception, but I don't find I have any problems running a timer event all the time. The code I posted earlier is on a form with a 30 second timer interval and I don't have any flickering screens or other weird things going on. I long ago learned not to try writing code while a timer is running, and if I ever forget then a quick visit to the immediate window to issue a TimersOff command does the trick for me. Its compliment "TimersOn" reverses the action. Sub TimersOff() Dim f As Form For Each f In Forms With f If .TimerInterval > 0 Then .Tag = str(.TimerInterval) .TimerInterval = 0 End If End With Next f End Sub Sub TimersOn() Dim f As Form For Each f In Forms With f If Not IsBlank(.Tag) Then If Eval(.Tag) > 0 Then .TimerInterval = Eval(.Tag) End If End If End With Next f End Sub Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lock-screen inside an Access app >I'm a tad concerned about the timer continuing to operate while the >user is using the app. Won't it interfere with things? YES, and that is one of the major design flaws in Access. Timers ticking cause issues with forms flickering, code compile errors for the developer in design view etc. Unfortunately that is what we are given to work with. About the only thing that can be done is to try and set the tick to as long an interval as possible. For example, if the developer wanted to know that a person hasn't done anything in 10 minutes then set the timer to every 10 minutes. This is certainly preferable to setting it to every 10 seconds of course. Fire the timer at the slowest possible rate to perform the task. From accessd666 at yahoo.com Thu May 3 09:01:23 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 07:01:23 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <672988.8255.qm@web31608.mail.mud.yahoo.com> John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I > usually load CodeLib and then > copy in several standard modules. > > I hate to hammer on this over and over, but that is > what a library is for. > > Did you know that when Windows XP shipped it had > SIXTY THOUSAND known bugs > and (more importantly) an unknown number of unknown > bugs. In order to fix > these bugs what does MS do? Updates. What do > updates do? Install a new > "library" with bug fixes. Can you imagine Microsoft > having to rifle through > your installation of windows looking for the lines > of code that have a bug > that they just fixed and fixing it everywhere on 200 > million computers? It > is a silly concept and we all know that. > > I am sure that you are convinced that you have no > bugs in your code, but > statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find > immediately and fix) to > something subtle like loss of data from a type > conversion or something. By > cutting and pasting your code, you cut and paste > your bugs. NOW you have to > remember what apps you cut and pasted bugs into! A > referenced library > allows you to fix a bug and simply insert that fixed > library into the > project. Since all your projects use your lib, all > your projects get your > bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my > library. All project > specific code goes in the project. If it is not > used anywhere else then it > obviously does not belong in my library, however if > it is going to be used > in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see > LOTS of people talking > about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Arthur Fuller > Sent: Thursday, May 03, 2007 8:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > It's something that came with the Office Developer's > Toolkit and also with > Visual Studio 6. It has a library of routines > grouped around topics like DAO > and ADO and so on. It can contain code snippets or > procs/funcs and entire > modules, too. I like it and still use it. Over the > years my own CodeLib > library has swelled to contain a few hundred > functions etc. I like it > because then I can stop trying to remember what app > I wrote a given function > in. When starting a new app, I usually load CodeLib > and then copy in several > standard modules. > > hth, > Arthur > > > On 5/3/07, Sad Der wrote: > > > > Hi Charlotte, > > > > what's the MS CodeLibrarian. Found some articles > on the internet about > > it but not much. What is this thing? > > > > Thanks In Advance! > > > > Sander > > > > --- Charlotte Foust > > wrote: > > > > > I had the 97 and 2000 versions of their > sourcebook and never thought > > > it was worth the price. The .Net product may be > better, but I > > > wouldn't count on that. I generally copy and > paste my own code from > > > the MS CodeLibrarian or something similar, when > I'm not scavenging > > > for ways to do something totally unfamiliar. > > > > > > Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Gustav at cactus.dk Thu May 3 09:07:22 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 03 May 2007 16:07:22 +0200 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: Hi Karen That's the point; you don't. DRM is defined by the really big boys to keep a hand on your pockets. Now, I've never copied an audio cd so I don't care, but do you have the need, keep a box with WinXP and/or Ubuntu for the purpose. As for the popups, you can define secure zones or folders (I don't recall the exact name). By default, any (mapped) folder on a network drive is considered "unsafe". Yes, the price for added security is high. /gustav >>> krosenstiel at comcast.net 03-05-2007 15:15 >>> Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. From jwcolby at colbyconsulting.com Thu May 3 09:08:14 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 10:08:14 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <672988.8255.qm@web31608.mail.mud.yahoo.com> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <672988.8255.qm@web31608.mail.mud.yahoo.com> Message-ID: <00da01c78d8c$84441260$657aa8c0@m6805> LOL. Ahh were it only true. Unfortunately then you would simply have an error in every other DLL. If you could predict which ones had no errors you could leave off half of the error handlers. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 10:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I usually load CodeLib and > then copy in several standard modules. > > I hate to hammer on this over and over, but that is what a library is > for. > > Did you know that when Windows XP shipped it had SIXTY THOUSAND known > bugs and (more importantly) an unknown number of unknown bugs. In > order to fix these bugs what does MS do? Updates. What do updates > do? Install a new "library" with bug fixes. Can you imagine > Microsoft having to rifle through your installation of windows looking > for the lines of code that have a bug that they just fixed and fixing > it everywhere on 200 million computers? It is a silly concept and we > all know that. > > I am sure that you are convinced that you have no bugs in your code, > but statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find immediately and fix) > to something subtle like loss of data from a type conversion or > something. By cutting and pasting your code, you cut and paste your > bugs. NOW you have to remember what apps you cut and pasted bugs > into! A referenced library allows you to fix a bug and simply insert > that fixed library into the project. Since all your projects use your > lib, all your projects get your bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my library. All > project specific code goes in the project. If it is not used anywhere > else then it obviously does not belong in my library, however if it is > going to be used in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see LOTS of people > talking about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From ebarro at verizon.net Thu May 3 09:14:20 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 07:14:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <672988.8255.qm@web31608.mail.mud.yahoo.com> Message-ID: <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> Sander, With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. :) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 7:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander --- JWColby wrote: > >I like it because then I can stop trying to > remember what app I wrote a > given function in. When starting a new app, I usually load CodeLib and > then copy in several standard modules. > > I hate to hammer on this over and over, but that is what a library is > for. > > Did you know that when Windows XP shipped it had SIXTY THOUSAND known > bugs and (more importantly) an unknown number of unknown bugs. In > order to fix these bugs what does MS do? Updates. What do updates > do? Install a new "library" with bug fixes. Can you imagine > Microsoft having to rifle through your installation of windows looking > for the lines of code that have a bug that they just fixed and fixing > it everywhere on 200 million computers? It is a silly concept and we > all know that. > > I am sure that you are convinced that you have no bugs in your code, > but statistics say 1 in 20 lines of code has a bug. > This can be something gross > such as never ending loop (which we mostly find immediately and fix) > to something subtle like loss of data from a type conversion or > something. By cutting and pasting your code, you cut and paste your > bugs. NOW you have to remember what apps you cut and pasted bugs > into! A referenced library allows you to fix a bug and simply insert > that fixed library into the project. Since all your projects use your > lib, all your projects get your bug fixes when you insert a new lib. > > I make it a policy that all GENERIC code goes in my library. All > project specific code goes in the project. If it is not used anywhere > else then it obviously does not belong in my library, however if it is > going to be used in any other project then it does belong in my > library. > > Libraries guys, NOT cut and paste modules. > > And sorry Arthur, I am not picking on you. I see LOTS of people > talking about "cutting and pasting" into their projects. > That is simply a no-no in > modern system design. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur > Fuller > Sent: Thursday, May 03, 2007 8:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] FMS Inc. Sourcebook > > It's something that came with the Office Developer's Toolkit and also > with Visual Studio 6. It has a library of routines grouped around > topics like DAO and ADO and so on. It can contain code snippets or > procs/funcs and entire modules, too. I like it and still use it. Over > the years my own CodeLib library has swelled to contain a few hundred > functions etc. I like it because then I can stop trying to remember > what app I wrote a given function in. When starting a new app, I > usually load CodeLib and then copy in several standard modules. > > hth, > Arthur > > > On 5/3/07, Sad Der wrote: > > > > Hi Charlotte, > > > > what's the MS CodeLibrarian. Found some articles > on the internet about > > it but not much. What is this thing? > > > > Thanks In Advance! > > > > Sander > > > > --- Charlotte Foust > > wrote: > > > > > I had the 97 and 2000 versions of their > sourcebook and never thought > > > it was worth the price. The .Net product may be > better, but I > > > wouldn't count on that. I generally copy and > paste my own code from > > > the MS CodeLibrarian or something similar, when > I'm not scavenging > > > for ways to do something totally unfamiliar. > > > > > > Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Thu May 3 09:22:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 10:22:53 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> References: <672988.8255.qm@web31608.mail.mud.yahoo.com> <0JHG00GI2Y8VVSH4@vms042.mailsrvcs.net> Message-ID: <00e801c78d8e$8bc90cf0$657aa8c0@m6805> >With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. ROTFLMAOBTC. Exactly how many bugs are in the BEGIN and END statements? About as many as are in the { and } statements. According to the statistics I have read there is not a lot of variance in the bugs / lines of code across languages. And simply appending 47 lines of code in one line does NOT lower the count. It simply causes that one line to have 2.3 bugs in it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 10:14 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Sander, With 19 lines of code you'd still have a 5% probability of a bug. Maybe that's why C programmers disparage VB for being too verbose. :) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 7:01 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, you say: "..but statistics say 1 in 20 lines of code has a bug." If I understand correctly we have to cut up our apps in little dll's that contain a max of 19 lines and were in the clear. We could even leave the error handling! hahaha!!! Sander From krosenstiel at comcast.net Thu May 3 10:08:21 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Thu, 03 May 2007 15:08:21 +0000 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <050320071508.27876.4639FAE50003E4AF00006CE42215567074040A079B9C020A9C019D05@comcast.net> Yeah, already thought of that ;-> Maybe a dual boot with Kubuntu.... -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Heenan, Lambert" > Reformat the drive and install XP or Linux? :-) > > Lambert > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel > Sent: Thursday, May 03, 2007 9:16 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > > Hi Gustav, > How do I remove the DRM stuff? I just got a hot damn laptop with Vista > Ultimate. Also, how can I make the thing stop asking me for security > confirmation for just about any activity? > > Thanks. > > > Regards, > > Karen Rosenstiel > Seattle WA USA > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 10:12:58 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 15:12:58 +0000 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: <29f585dd0705030533v2c42b606ke1e6335db57a9fe7@mail.gmail.com> Message-ID: Arthur, There is a sample db floating around somewhere that does the inactivity...the password part can be easily added. I'll see if I can find it. Thanks, Mark A. Matte >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >CC: "asanga at xplornet.com" >Subject: Re: [AccessD] Lock-screen inside an Access app >Date: Thu, 3 May 2007 08:33:56 -0400 > >Thanks, JC. My friend is an occasional visitor to this group, and has been >here enough to know some of the more frequent names. I told him when he >asked that you and/or Shamil would know how to do this. I'm forwarding your >message to my friend now. > >I'm not sure how, in the absence of an entire framework, he should create >the wrappers for mouse-move and click, but maybe the keydown will be enough >for his requirements. > >So it would work something like this? > >Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes the >form visible in dialog mode. Counts password attempts to three. If still no >valid password, then Application.Shutdown; else hide the form and let the >user proceed. > >I'm a tad concerned about the timer continuing to operate while the user is >using the app. Won't it interfere with things? On the other hand, I can't >think how else it might work, since the user could conceivably walk away >leaving the cursor in the middle of some field while he was adding a new >customer or something. > >Arthur > > >On 5/3/07, JWColby wrote: > > > > The issue here is "minutes of inactivity". In order to measure time in > > Access a form somewhere has to be running a timer. > > > > There is absolutely nothing AFAIK built in to Access that "measures > > activity". In order to measure activity... You have to define activity. > > Mouse movements? Keystrokes? These are the two most common. >Keystrokes > > are fairly easy, you intercept the key down and set a "last activity >time" > > global date variable. Mouse movement however is much harder. > > > > For that you will need a framework which uses class wrappers around >forms > > and controls (or at least the form). Having that you can sink the mouse > > move event for the form and controls and set the same global "last > > activity > > time" global date variable. > > > > Having a "last activity time" variable you can now use that timer tick I > > mentioned in the second sentence to see how long since the last >activity. > > > > All in all not a 10 minute project, but it is doable. > > > > John W. Colby > > Colby Consulting > > www.ColbyConsulting.com > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > > Sent: Thursday, May 03, 2007 7:53 AM > > To: Access Developers discussion and problem solving > > Subject: [AccessD] Lock-screen inside an Access app > > > > A friend asked me how he could put a Windows-like screen lock (that asks > > for > > a password) inside an Access app. He's thinking that it's a hidden form > > that > > then appears after x minutes of inactivity and wants a password before > > letting the user back into the app. Presumably it would shut the app >down > > with no valid password. > > > > Does anyone have an idea how to do this? > > > > TIA, > > 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 _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From ebarro at verizon.net Thu May 3 10:14:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 08:14:05 -0700 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <200705031315.l43DFBep006759@databaseadvisors.com> Message-ID: <0JHH0020P10GQUO2@vms048.mailsrvcs.net> Switch to a mac? :) As Borat would say...NOT!!! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Karen Rosenstiel Sent: Thursday, May 03, 2007 6:16 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi Gustav, How do I remove the DRM stuff? I just got a hot damn laptop with Vista Ultimate. Also, how can I make the thing stop asking me for security confirmation for just about any activity? Thanks. Regards, Karen Rosenstiel Seattle WA USA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Thursday, May 03, 2007 1:11 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] OT - VISTA only and XP Phase out? Hi John et al Also, I must admit that the graphic design of the Vista GUI is so much better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has looked like a student's work in comparison. Now that has changed with Avalon, Windows Presentation Foundation, which is truly innovative, and the default layout meets the highest graphic standards; at last a pro machine will look pro too in use. This is not to defend all the compatibility issues and the nasty DRM stuff (which should be removed right away). /gustav >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> Vista is a definite step forward. I too abhor the DRM crap they are forcing on us, but other than that I think it is a significant step forward in most other respects. And yep, it will force us onto more powerful platforms. That is just the price we pay to play the game. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From krosenstiel at comcast.net Thu May 3 10:16:38 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Thu, 03 May 2007 15:16:38 +0000 Subject: [AccessD] OT - VISTA only and XP Phase out? Message-ID: <050320071516.26790.4639FCD600051E21000068A62215567074040A079B9C020A9C019D05@comcast.net> Grrrrr...! -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Gustav Brock" > Hi Karen > > That's the point; you don't. DRM is defined by the really big boys to keep a > hand on your pockets. > Now, I've never copied an audio cd so I don't care, but do you have the need, > keep a box with WinXP and/or Ubuntu for the purpose. > > As for the popups, you can define secure zones or folders (I don't recall the > exact name). By default, any (mapped) folder on a network drive is considered > "unsafe". Yes, the price for added security is high. > > /gustav > > >>> krosenstiel at comcast.net 03-05-2007 15:15 >>> > Hi Gustav, > How do I remove the DRM stuff? I just got a hot damn laptop with Vista > Ultimate. Also, how can I make the thing stop asking me for security > confirmation for just about any activity? > > Thanks. > > > Regards, > > Karen Rosenstiel > Seattle WA USA > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Thursday, May 03, 2007 1:11 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] OT - VISTA only and XP Phase out? > > Hi John et al > > Also, I must admit that the graphic design of the Vista GUI is so much > better than the ugly Fisher-Price shell of XP. Since MacOS X, Windows has > looked like a student's work in comparison. Now that has changed with > Avalon, Windows Presentation Foundation, which is truly innovative, and the > default layout meets the highest graphic standards; at last a pro machine > will look pro too in use. > > This is not to defend all the compatibility issues and the nasty DRM stuff > (which should be removed right away). > > /gustav > > >>> jwcolby at colbyconsulting.com 02-05-2007 22:08 >>> > > Vista is a definite step forward. I too abhor the DRM crap they are forcing > on us, but other than that I think it is a significant step forward in most > other respects. And yep, it will force us onto more powerful platforms. > > That is just the price we pay to play the game. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From john at winhaven.net Thu May 3 10:18:44 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 10:18:44 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <009301c78d96$58703d30$6402a8c0@ScuzzPaq> :o) I use a library for all code that I have used or have thoroughly tested. In fact this week I used a nice little ADH snippet that I had never used before. I've had it in my Library for years now. I know of another app out there that could use this tweak so I can change the app, recompile and send it off to the end users - no sweat. Good advice JC ;o) BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... I should have just finished up my own app to do this for me but Sourcebook was just sitting there waiting to be used... someday. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Thu May 3 10:37:44 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 03 May 2007 08:37:44 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <0JHH0007R1WA83Y0@l-daemon> John: A developer has two distinct jobs. One is programming and the other is debugging. One creates errors and the other task is supposed to remove them. Jim PS Have always used libraries... from the first days with Fortran, -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 03, 2007 8:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook It's something that came with the Office Developer's Toolkit and also with Visual Studio 6. It has a library of routines grouped around topics like DAO and ADO and so on. It can contain code snippets or procs/funcs and entire modules, too. I like it and still use it. Over the years my own CodeLib library has swelled to contain a few hundred functions etc. I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. hth, Arthur On 5/3/07, Sad Der wrote: > > Hi Charlotte, > > what's the MS CodeLibrarian. Found some articles on the internet about > it but not much. What is this thing? > > Thanks In Advance! > > Sander > > --- Charlotte Foust > wrote: > > > I had the 97 and 2000 versions of their sourcebook and never thought > > it was worth the price. The .Net product may be better, but I > > wouldn't count on that. I generally copy and paste my own code from > > the MS CodeLibrarian or something similar, when I'm not scavenging > > for ways to do something totally unfamiliar. > > > > Charlotte Foust -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 10:37:25 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 08:37:25 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00c601c78d82$ac0397d0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com> <00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Thu May 3 10:45:03 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 15:45:03 +0000 Subject: [AccessD] Lock-screen inside an Access app In-Reply-To: Message-ID: I can't find the 1 I had...but here is a similar 1. Thanks, mark http://www.access-programmers.co.uk/forums/showthread.php?t=103278 >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Lock-screen inside an Access app >Date: Thu, 03 May 2007 15:12:58 +0000 > >Arthur, > >There is a sample db floating around somewhere that does the >inactivity...the password part can be easily added. I'll see if I can find >it. > >Thanks, > >Mark A. Matte > > > >From: "Arthur Fuller" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >CC: "asanga at xplornet.com" > >Subject: Re: [AccessD] Lock-screen inside an Access app > >Date: Thu, 3 May 2007 08:33:56 -0400 > > > >Thanks, JC. My friend is an occasional visitor to this group, and has >been > >here enough to know some of the more frequent names. I told him when he > >asked that you and/or Shamil would know how to do this. I'm forwarding >your > >message to my friend now. > > > >I'm not sure how, in the absence of an entire framework, he should create > >the wrappers for mouse-move and click, but maybe the keydown will be >enough > >for his requirements. > > > >So it would work something like this? > > > >Form is hidden. Timer sees no keystrokes for say 10 minutes, then makes >the > >form visible in dialog mode. Counts password attempts to three. If still >no > >valid password, then Application.Shutdown; else hide the form and let the > >user proceed. > > > >I'm a tad concerned about the timer continuing to operate while the user >is > >using the app. Won't it interfere with things? On the other hand, I can't > >think how else it might work, since the user could conceivably walk away > >leaving the cursor in the middle of some field while he was adding a new > >customer or something. > > > >Arthur > > > > > >On 5/3/07, JWColby wrote: > > > > > > The issue here is "minutes of inactivity". In order to measure time >in > > > Access a form somewhere has to be running a timer. > > > > > > There is absolutely nothing AFAIK built in to Access that "measures > > > activity". In order to measure activity... You have to define >activity. > > > Mouse movements? Keystrokes? These are the two most common. > >Keystrokes > > > are fairly easy, you intercept the key down and set a "last activity > >time" > > > global date variable. Mouse movement however is much harder. > > > > > > For that you will need a framework which uses class wrappers around > >forms > > > and controls (or at least the form). Having that you can sink the >mouse > > > move event for the form and controls and set the same global "last > > > activity > > > time" global date variable. > > > > > > Having a "last activity time" variable you can now use that timer tick >I > > > mentioned in the second sentence to see how long since the last > >activity. > > > > > > All in all not a 10 minute project, but it is doable. > > > > > > John W. Colby > > > Colby Consulting > > > www.ColbyConsulting.com > > > > > > -----Original Message----- > > > From: accessd-bounces at databaseadvisors.com > > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur >Fuller > > > Sent: Thursday, May 03, 2007 7:53 AM > > > To: Access Developers discussion and problem solving > > > Subject: [AccessD] Lock-screen inside an Access app > > > > > > A friend asked me how he could put a Windows-like screen lock (that >asks > > > for > > > a password) inside an Access app. He's thinking that it's a hidden >form > > > that > > > then appears after x minutes of inactivity and wants a password before > > > letting the user back into the app. Presumably it would shut the app > >down > > > with no valid password. > > > > > > Does anyone have an idea how to do this? > > > > > > TIA, > > > 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 > >_________________________________________________________________ >Need a break? Find your escape route with Live Search Maps. >http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From jwcolby at colbyconsulting.com Thu May 3 10:51:51 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 11:51:51 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <009301c78d96$58703d30$6402a8c0@ScuzzPaq> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> <009301c78d96$58703d30$6402a8c0@ScuzzPaq> Message-ID: <00f501c78d9a$f7cbb130$657aa8c0@m6805> >BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... No that makes perfect sense. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Thursday, May 03, 2007 11:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook :o) I use a library for all code that I have used or have thoroughly tested. In fact this week I used a nice little ADH snippet that I had never used before. I've had it in my Library for years now. I know of another app out there that could use this tweak so I can change the app, recompile and send it off to the end users - no sweat. Good advice JC ;o) BUT - I use FMS Sourcebook to hold all the code, bug fixes, articles, hacks, etc that I MAY want to use in the future but haven't tested yet. One heck of a lot easier than looking through the file system for all those potential diamonds in the rough... I should have just finished up my own app to do this for me but Sourcebook was just sitting there waiting to be used... someday. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 10:52:37 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 08:52:37 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From cfoust at infostatsystems.com Thu May 3 11:04:20 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:04:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> Message-ID: Amen! Managed code libraries are lifesavers. We actually have whole projects shared between solutions. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 8:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 11:23:40 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:23:40 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> Message-ID: <00fc01c78d9f$6941e0b0$657aa8c0@m6805> Charlotte, >I think you misunderstand the purpose and use of something like code librarian. And Arthur specifically mentioned "cutting and pasting modules into applications" which was what I was commenting about. Cutting and pasting anything into applications indicates that a) you have (probably) used it before, and b) you are using it again. Now a) is iffy, but if it is true then you have reached the point where it should probably be in the library. >I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. Which is of course something completely different and a very good use for code librarian. >I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Works for me. If a function is specific to the application, it belongs in the application. In general I don't have "versions of functions". >Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. Sounds like an excuse to cut and paste. Is it not a PITA to go find and fix an error inside of 47 different applications? Is that easier than copying a library where it needs to go? Now what happens when you have 10 bug fixes or 30? A library ALWAYS wins!!! >If your library gets deleted, you are SOL. True. And if your application gets deleted you are SOL. Sounds like an excuse to cut and paste. >And since libraries should be mdes, every time you "update" one, you have to rebuild it. I don't have any such belief. My library is an MDA, as is the application. If you want to use MDEs then you have to deal with the issues thereof. The point of a library is "write once, use forever", and "fix once, fix everywhere". Cut and paste does NOT meet the second criteria. Sorry, it just doesn't. You can make up excuses to cut and paste till the cows come home. It is not my job to follow you around making sure you don't do that, but it is my job to point out the flaws in the process so that other developers won't go getting the idea that it is a good practice. In general it just isn't good practice. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 11:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 11:24:58 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:24:58 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH0007R1WA83Y0@l-daemon> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <0JHH0007R1WA83Y0@l-daemon> Message-ID: <00fd01c78d9f$97d9fa70$657aa8c0@m6805> Jim, >PS Have always used libraries... from the first days with Fortran, And thanks for popping up and saying so. Sometimes it feels lonely out here. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, May 03, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook John: A developer has two distinct jobs. One is programming and the other is debugging. One creates errors and the other task is supposed to remove them. Jim PS Have always used libraries... from the first days with Fortran, -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 3 11:26:06 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:26:06 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> Message-ID: <00fe01c78d9f$c05ac880$657aa8c0@m6805> >And that my friends is why the .NET managed code libraries make a lot of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 11:37:13 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:37:13 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fc01c78d9f$6941e0b0$657aa8c0@m6805> References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805> <00fc01c78d9f$6941e0b0$657aa8c0@m6805> Message-ID: I wasn't making excuses for anything, John. That was your interpretation. You use uncompiled libraries and I don't. You're persuaded your way is right and I'm not. ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:24 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, >I think you misunderstand the purpose and use of something like code librarian. And Arthur specifically mentioned "cutting and pasting modules into applications" which was what I was commenting about. Cutting and pasting anything into applications indicates that a) you have (probably) used it before, and b) you are using it again. Now a) is iffy, but if it is true then you have reached the point where it should probably be in the library. >I agree with you about libraries in principle, but when you build >something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. Which is of course something completely different and a very good use for code librarian. >I don't know about you, but I'm not omniscient enough to know that >*this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Works for me. If a function is specific to the application, it belongs in the application. In general I don't have "versions of functions". >Also, libraries in Access can be a pain when you have to distribute >them, since they don't compile into a dll. Sounds like an excuse to cut and paste. Is it not a PITA to go find and fix an error inside of 47 different applications? Is that easier than copying a library where it needs to go? Now what happens when you have 10 bug fixes or 30? A library ALWAYS wins!!! >If your library gets deleted, you are SOL. True. And if your application gets deleted you are SOL. Sounds like an excuse to cut and paste. >And since libraries should be mdes, every time you "update" one, you >have to rebuild it. I don't have any such belief. My library is an MDA, as is the application. If you want to use MDEs then you have to deal with the issues thereof. The point of a library is "write once, use forever", and "fix once, fix everywhere". Cut and paste does NOT meet the second criteria. Sorry, it just doesn't. You can make up excuses to cut and paste till the cows come home. It is not my job to follow you around making sure you don't do that, but it is my job to point out the flaws in the process so that other developers won't go getting the idea that it is a good practice. In general it just isn't good practice. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 11:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.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 cfoust at infostatsystems.com Thu May 3 11:38:20 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 09:38:20 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fe01c78d9f$c05ac880$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net> <00fe01c78d9f$c05ac880$657aa8c0@m6805> Message-ID: FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 8:37 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook John, >I hate to hammer on this over and over, but that is what a library is for. LOL You LOVE to hammer on this!! I think you misunderstand the purpose and use of something like code librarian. I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right exanmple. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:58 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >I like it because then I can stop trying to remember what app I wrote a given function in. When starting a new app, I usually load CodeLib and then copy in several standard modules. I hate to hammer on this over and over, but that is what a library is for. Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs and (more importantly) an unknown number of unknown bugs. In order to fix these bugs what does MS do? Updates. What do updates do? Install a new "library" with bug fixes. Can you imagine Microsoft having to rifle through your installation of windows looking for the lines of code that have a bug that they just fixed and fixing it everywhere on 200 million computers? It is a silly concept and we all know that. I am sure that you are convinced that you have no bugs in your code, but statistics say 1 in 20 lines of code has a bug. This can be something gross such as never ending loop (which we mostly find immediately and fix) to something subtle like loss of data from a type conversion or something. By cutting and pasting your code, you cut and paste your bugs. NOW you have to remember what apps you cut and pasted bugs into! A referenced library allows you to fix a bug and simply insert that fixed library into the project. Since all your projects use your lib, all your projects get your bug fixes when you insert a new lib. I make it a policy that all GENERIC code goes in my library. All project specific code goes in the project. If it is not used anywhere else then it obviously does not belong in my library, however if it is going to be used in any other project then it does belong in my library. Libraries guys, NOT cut and paste modules. And sorry Arthur, I am not picking on you. I see LOTS of people talking about "cutting and pasting" into their projects. That is simply a no-no in modern system design. John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Thu May 3 11:55:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 12:55:53 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805> Message-ID: <010301c78da3$e98212f0$657aa8c0@m6805> Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. From jwcolby at colbyconsulting.com Thu May 3 12:08:07 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 13:08:07 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <341911.81757.qm@web31607.mail.mud.yahoo.com><29f585dd0705030504o3ae05193kad6212b06b679b7c@mail.gmail.com><00c601c78d82$ac0397d0$657aa8c0@m6805><00fc01c78d9f$6941e0b0$657aa8c0@m6805> Message-ID: <010801c78da5$9f1719c0$657aa8c0@m6805> >I wasn't making excuses for anything, John. >I agree with you about libraries in principle, but when you build something that works one-off, you stuff the code into Code Librarian as a template in case you need to do something similar. It's very handy for reference instead of trolling the internet for hours looking for the right example. I don't know about you, but I'm not omniscient enough to know that *this precise version of a routine* belongs in a library so I can use it over and over. I generally wait until the usefulness is clear before I start building libraries. Also, libraries in Access can be a pain when you have to distribute them, since they don't compile into a dll. If your library gets deleted, you are SOL. And since libraries should be mdes, every time you "update" one, you have to rebuild it. Hmm... OK, I INTERPRET these as excuses for using cut and paste. Now tell me what they REALLY are? There is absolutely nothing in that whole paragraph that validates cutting and pasting potentially bug infected code into an application when such code should be in a library, but that paragraph was sent in response to my pointing out the problems with cut and paste. ;-) >You use uncompiled libraries and I don't. Using a compiled library is fine by me, I just don't. In the Access environment it causes more problems than it fixes (as you so nicely pointed out). >You're persuaded your way is right and I'm not. My way of doing what? If you are talking about libraries vs. cut and paste, then yep, I am convinced that "my" way is right. So is the industry. In fact it is not my way at all, I just do what I do because it makes sense to do that. As I said before, I did not invent this stuff, libraries existed while I was still in diapers. Well.... OK, while I was still in grade school. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:37 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook I wasn't making excuses for anything, John. That was your interpretation. You use uncompiled libraries and I don't. You're persuaded your way is right and I'm not. ;-> Charlotte Foust From cfoust at infostatsystems.com Thu May 3 12:15:47 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 10:15:47 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <010301c78da3$e98212f0$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805> <010301c78da3$e98212f0$657aa8c0@m6805> Message-ID: The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:26 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook >And that my friends is why the .NET managed code libraries make a lot >of sense. :) Notice the use of the word LIBRARIES. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook And that my friends is why the .NET managed code libraries make a lot of sense. :) Combine that with n-tier approach and the software development life cycle is less painful to manage. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 12:39:10 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 17:39:10 +0000 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: Message-ID: Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 9:56 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Charlotte, > >A library is a group of code, the source stored (and more importantly >MAINTAINED) in one location but used in more than one place. Tell me >how that is different? > >There is no foul here. Access is the ONLY Office application that >allows libraries but they are indeed libraries. A group of code, stored >and maintained in one location but used in more than one place. Because >they are stored in one location, you fix a bug one time, at that stored >location, and then distribute the fix version to the other locations >where the code is used. > >Now I understand that with a versioning system you can get into issues >there but that is an intentional step that you take because you have a >reason to have more than one branch of the code. > >And if an Access library (which they are called libraries inside of our >programming environment) is not a library, how much more "not a library" >is a "cut and paste" exercise? > >I am discussing a simple concept here, which you KNOW is "correct". I >did not make this up, I have no vested interest in you or anyone else >using it. >It is a concept taught and used throughout the industry. > >C'mon Charlotte, give it up. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte >Foust >Sent: Thursday, May 03, 2007 12:38 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] FMS Inc. Sourcebook > >FOUL! Libraries in managed code aren't anything like Access libraries >and you know it! Grrrr > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 9:26 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > > >And that my friends is why the .NET managed code libraries make a lot > >of >sense. :) > >Notice the use of the word LIBRARIES. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro >Sent: Thursday, May 03, 2007 11:53 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >And that my friends is why the .NET managed code libraries make a lot of >sense. :) > >Combine that with n-tier approach and the software development life >cycle is less painful to manage. > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Get a FREE Web site, company branded e-mail and more from Microsoft Office Live! http://clk.atdmt.com/MRT/go/mcrssaub0050001411mrt/direct/01/ From jwcolby at colbyconsulting.com Thu May 3 12:39:45 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 13:39:45 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805><010301c78da3$e98212f0$657aa8c0@m6805> Message-ID: <010a01c78daa$0a2bfc40$657aa8c0@m6805> ROTFL. If you can't dazzle 'em with brilliance, baffle 'em with BS. Worked didn't it? 8~0 >The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. Charlotte, MDAs / MDEs are all we have in Access. To say that they are not a library because they can't be compiled into a DLL is simply not true. To say that they aren't a library because they can be messed with or that the reference can be broken also isn't true. A library is nothing more than a group of code maintained on one place and distributed for use. How you do the distribution has nothing whatsoever to do with the concept of single point maintenance of the source code. THAT is what makes a library. You can have a library in something like Code Librarian. What you CAN'T do is claim that you are using a library if you distribute the library by cutting and pasting pieces from it directly into the application. As soon as you do that you are no longer using a library, you are building an application with all of its code embedded in it. People do that all the time, and in a small shop where there is only one application then there is absolutely no point in a library. The application IS the library and the fix is done at a single place, in the application (which is the library). No foul, no harm done. As soon as you cut and paste code from that application into another application... you should be using a library, for BOTH applications, with all the shared code in the library. And that, as they say, is that. I made a comment in one of the posts that "others have also talked about cutting and pasting". I get the feeling that you thought I was poking a stick at you. I wasn't, but poking a stick at you is definitely fun. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust From cfoust at infostatsystems.com Thu May 3 13:04:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 11:04:58 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <010a01c78daa$0a2bfc40$657aa8c0@m6805> References: <0JHH00GLV2SOVL95@vms042.mailsrvcs.net><00fe01c78d9f$c05ac880$657aa8c0@m6805><010301c78da3$e98212f0$657aa8c0@m6805> <010a01c78daa$0a2bfc40$657aa8c0@m6805> Message-ID: As you know very well, I didn't say you couldn't have libraries in Access, I said they were different from libraries in .Net. I think you're just trying to keep an argument alive, since you seem to be enjoying yourself enormously. ;-< No, John, Code Librarian is a repository, not a library, so you *can't* have a library in it. You can store stuff there but you can't call it. You *have* to copy and paste if you want to use the code, but there's no reason you can't put that code into a defined library app and stamp it with the Colby seal of approval. I personally don't want to drag all the good, bad and awful example code in my repository around in my apps or libraries, but it's very useful to know what *doesn't* work as well as what does, when I'm building something new. This is what's know as "development", and interesting concept but not much used by those who already have everything built!! Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 10:40 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook ROTFL. If you can't dazzle 'em with brilliance, baffle 'em with BS. Worked didn't it? 8~0 >The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. Charlotte, MDAs / MDEs are all we have in Access. To say that they are not a library because they can't be compiled into a DLL is simply not true. To say that they aren't a library because they can be messed with or that the reference can be broken also isn't true. A library is nothing more than a group of code maintained on one place and distributed for use. How you do the distribution has nothing whatsoever to do with the concept of single point maintenance of the source code. THAT is what makes a library. You can have a library in something like Code Librarian. What you CAN'T do is claim that you are using a library if you distribute the library by cutting and pasting pieces from it directly into the application. As soon as you do that you are no longer using a library, you are building an application with all of its code embedded in it. People do that all the time, and in a small shop where there is only one application then there is absolutely no point in a library. The application IS the library and the fix is done at a single place, in the application (which is the library). No foul, no harm done. As soon as you cut and paste code from that application into another application... you should be using a library, for BOTH applications, with all the shared code in the library. And that, as they say, is that. I made a comment in one of the posts that "others have also talked about cutting and pasting". I get the feeling that you thought I was poking a stick at you. I wasn't, but poking a stick at you is definitely fun. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook The difference is that libraries in managed code are compiled into a dll. Once that happens, they are no longer available to be messed with by the curious, and they are true libraries, as opposed to mdbs with a different name and a breakable reference in the tools menu. You are willfully misinterpreting what I said in order to prove your point, but I've totally lost track of what the point was! I'm not arguing that libraries are bad, so why are you arguing with me and what am I supposed to give up on?? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:56 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Charlotte, A library is a group of code, the source stored (and more importantly MAINTAINED) in one location but used in more than one place. Tell me how that is different? There is no foul here. Access is the ONLY Office application that allows libraries but they are indeed libraries. A group of code, stored and maintained in one location but used in more than one place. Because they are stored in one location, you fix a bug one time, at that stored location, and then distribute the fix version to the other locations where the code is used. Now I understand that with a versioning system you can get into issues there but that is an intentional step that you take because you have a reason to have more than one branch of the code. And if an Access library (which they are called libraries inside of our programming environment) is not a library, how much more "not a library" is a "cut and paste" exercise? I am discussing a simple concept here, which you KNOW is "correct". I did not make this up, I have no vested interest in you or anyone else using it. It is a concept taught and used throughout the industry. C'mon Charlotte, give it up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 12:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook FOUL! Libraries in managed code aren't anything like Access libraries and you know it! Grrrr Charlotte Foust -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 13:06:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 14:06:32 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: <010b01c78dad$c8537600$657aa8c0@m6805> LOL. Tag teams!!! But Charlotte is on MY TEAM! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 1:39 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FMS Inc. Sourcebook Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust From cfoust at infostatsystems.com Thu May 3 13:06:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 11:06:28 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: Conference? What conference? LOL I'm not available in May after all, so John is trying to aggravate me here instead of in person!! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 10:39 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FMS Inc. Sourcebook Wow...I can't wait for the conference this year. Should we have arm wrestling or boxing matches...lol I love this list!!! Mark >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] FMS Inc. Sourcebook >Date: Thu, 3 May 2007 10:15:47 -0700 > >The difference is that libraries in managed code are compiled into a >dll. Once that happens, they are no longer available to be messed with >by the curious, and they are true libraries, as opposed to mdbs with a >different name and a breakable reference in the tools menu. > >You are willfully misinterpreting what I said in order to prove your >point, but I've totally lost track of what the point was! I'm not >arguing that libraries are bad, so why are you arguing with me and what >am I supposed to give up on?? > >Charlotte Foust > > From markamatte at hotmail.com Thu May 3 13:21:35 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 18:21:35 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: Have we set dates for the conference? Thanks, Mark A. Matte _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From markamatte at hotmail.com Thu May 3 13:27:31 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 18:27:31 +0000 Subject: [AccessD] Lists on DBA site Message-ID: Eight years ago when I joined this list...one of the first recommended sites I remember ended up shutting down a few years later. It was http://www.vbapi.com/index.html It was a list of 100's of API calls and what references where needed with each one. I used it all the time(and occasionally still)...but before it shut down, a zipped version of the site was available. Would this be a candidate for the 'LISTS' part of the website...and if so...who should I send it too? Thanks, Mark A. Matte _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From Lambert.Heenan at AIG.com Thu May 3 13:47:03 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 13:47:03 -0500 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert From kismert at gmail.com Thu May 3 13:53:40 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 03 May 2007 13:53:40 -0500 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: References: Message-ID: <463A2FB4.1050108@gmail.com> [Arthur Fuller] > ... To date my biggest beef [with Linux] has been the absence of > something as easy to use as Access ... > Arthur, I keep tabs on the Dabo project, http://dabodev.com/ , which is progressing nicely. Dabo is Python-based. For VB veterans, Python is one of the easiest languages to pick up. Dabo is a desktop GUI database app builder based on Python. It runs on PC, Mac and Linux. It natively interfaces with MySQL, PostgreSQL, FireBird, and SQLite. Work is progressing on a MS SQL Server interface. It has 'wizards' for constructing typical data-driven forms, and an IDE that approaches what Access offers. They have some great screencasts at http://dabodev.com/documentation. Dabo is developed by some FoxPro refugees, and it seems to be very clearly thought out and carefully programmed. -Ken From jwcolby at colbyconsulting.com Thu May 3 14:12:36 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 15:12:36 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> References: <00c101c78d7f$30fd5420$657aa8c0@m6805> <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Message-ID: <011501c78db7$03104d00$657aa8c0@m6805> So executing that in the query window CREATES the SP but does not execute the SP? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Thu May 3 14:33:20 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 03 May 2007 19:33:20 +0000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011501c78db7$03104d00$657aa8c0@m6805> Message-ID: John, I believe I do something similar when I have to run a couple 100 SQL statements...but I don't recreate the SP everytime. I use the following SQL(At BOTTOM) from the query window and it passes my criteria(which is stored in a table) to the SP and executes it for each record. In your cases...a table listing your @filenames could be passed from a query to the SP without rewriting or editing the SP each time. I did run into a few issues with placements of quotes...but after that it ran like a champ. Good Luck, Mark A. Matte P.S...As an afterthought I included my SP template below as well...good luck. ***************SQL************* declare @ID nvarchar(255) declare MyCursor cursor for select CriteriaSQL from tblcriteria where requestname = 'KenPro' open mycursor fetch next from mycursor into @ID while (@@fetch_status =0) Begin exec Select_Records_1 @ID fetch next from mycursor into @ID End Close mycursor deallocate mycursor ***************SQL************* ***************Stored Procedure Template************* CREATE PROCEDURE [Select_Records_1] @ID nvarchar(255) AS declare @sql as varchar(1000) declare @nsql as nchar(3000) set @sql='insert into tbltester(case_id,Criteria) SELECT case_id, ' + char(34)+ at ID+char(34)+' from tblCase where case_id=1482445 and creation_date>'+char(39)+'9/30/2006'+CHAR(39)+' and ' + at ID set @nsql=@sql set nocount on exec sp_executesql @nsql set nocount off ***************Stored Procedure Template************* >From: "JWColby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Calling a stored procedure from Access >Date: Thu, 3 May 2007 15:12:36 -0400 > >So executing that in the query window CREATES the SP but does not execute >the SP? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro >Sent: Thursday, May 03, 2007 9:17 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Calling a stored procedure from Access > >Here's a template to create the sproc. > >CREATE PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > >If the sproc already exists change CREATE to ALTER > >ALTER PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > >-- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC >sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 5:33 AM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Calling a stored procedure from Access > >I am on the final leg of the data import for the 100 million record data >import. I have about 30 remaining "csv files" in a directory which have to >be imported to SQL Server. ATM I am manually editing a query which looks >like: > >BULK INSERT Infutor.dbo.infutor > FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > with ( > yadayada > ) > >Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and >NAR_ND1.CSV' is the file currently being processed. > >I have a table of all the files from a preprocessor I wrote that generated >the csv files. If I could turn query into a stored procedure with a >parameter for the file name, I could then call the stored procedure from >Access and pass in the filenames. > >I have never done this before so I need to know how this is done. I have >created a couple of stored procedures but none with a parameter that has to >be appended to a string etc. All of my books make a rather huge assumption >that any parameters passed in will be used a filters in where clauses and >so >forth, and completely ignore things like constants and variables inside of >the stored procedure. > >My ASSUMPTION is that I can create a constant to hold the path, dim a >variable to hold the finished file name with path, then append the path >constant and the passed in parameter and store the results in the string >variable. Then I can use that to replace the string in the FROM clause. >Or >just do the append directly "in place" in the FROM clause. At any rate I >end up with something like: > > . > . > . > FROM 'D:\PSMData\infutor\CSV\' & @FileName > >QUESTIONS: > >1) Having created this stored procedure, how do I get it to save? Whenever >I try to save it SQL Server tries to save it out as a text file on disk. >2) Having saved it, how do I execute it from Access passing in the file >names. > >If I can get this concept down I will be a huge step further along in my >automation task. > >Any help is much appreciated. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >No virus found in this incoming message. >Checked by AVG Free Edition. >Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 >2:16 >PM > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From ebarro at verizon.net Thu May 3 14:37:38 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 12:37:38 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011501c78db7$03104d00$657aa8c0@m6805> Message-ID: <0JHH0021UD7PWF49@vms046.mailsrvcs.net> Nope...to run the sproc you have to type this EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 12:13 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So executing that in the query window CREATES the SP but does not execute the SP? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From martyconnelly at shaw.ca Thu May 3 14:48:59 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 03 May 2007 12:48:59 -0700 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <00fd01c78d9f$97d9fa70$657aa8c0@m6805> References: <00c601c78d82$ac0397d0$657aa8c0@m6805> <0JHH0007R1WA83Y0@l-daemon> <00fd01c78d9f$97d9fa70$657aa8c0@m6805> Message-ID: <463A3CAB.1090806@shaw.ca> I do remember tracking down incorrect and out of date versions of SYSLIB's in JCL where concatentation order was important //SYSLIB DD ...... // DD ...... However I keep a lot of code in .txt files or even .doc or .pdf files So I use Google Desktop Search to find my code You can restrict your search to just your disk files rather than including url's of sites visited with search syntax like "ADODB.Recordset" filetype:pdf or ADODB.Recordset filetype:txt Also for obscure code you can search via Google by a particular computer language http://www.google.com/codesearch JWColby wrote: >Jim, > > > >>PS Have always used libraries... from the first days with Fortran, >> >> > >And thanks for popping up and saying so. Sometimes it feels lonely out >here. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence >Sent: Thursday, May 03, 2007 11:38 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > >John: > >A developer has two distinct jobs. One is programming and the other is >debugging. One creates errors and the other task is supposed to remove them. > >Jim >PS Have always used libraries... from the first days with Fortran, > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby >Sent: Thursday, May 03, 2007 5:58 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FMS Inc. Sourcebook > > > >>I like it because then I can stop trying to remember what app I wrote a >> >> >given function in. When starting a new app, I usually load CodeLib and then >copy in several standard modules. > >I hate to hammer on this over and over, but that is what a library is for. > >Did you know that when Windows XP shipped it had SIXTY THOUSAND known bugs >and (more importantly) an unknown number of unknown bugs. In order to fix >these bugs what does MS do? Updates. What do updates do? Install a new >"library" with bug fixes. Can you imagine Microsoft having to rifle through >your installation of windows looking for the lines of code that have a bug >that they just fixed and fixing it everywhere on 200 million computers? It >is a silly concept and we all know that. > >I am sure that you are convinced that you have no bugs in your code, but >statistics say 1 in 20 lines of code has a bug. This can be something gross >such as never ending loop (which we mostly find immediately and fix) to >something subtle like loss of data from a type conversion or something. By >cutting and pasting your code, you cut and paste your bugs. NOW you have to >remember what apps you cut and pasted bugs into! A referenced library >allows you to fix a bug and simply insert that fixed library into the >project. Since all your projects use your lib, all your projects get your >bug fixes when you insert a new lib. > >I make it a policy that all GENERIC code goes in my library. All project >specific code goes in the project. If it is not used anywhere else then it >obviously does not belong in my library, however if it is going to be used >in any other project then it does belong in my library. > >Libraries guys, NOT cut and paste modules. > >And sorry Arthur, I am not picking on you. I see LOTS of people talking >about "cutting and pasting" into their projects. That is simply a no-no in >modern system design. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > > > -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Thu May 3 14:58:56 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 15:58:56 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206940220@xlivmbx35.aig.com> Message-ID: <011d01c78dbd$7bf3a950$657aa8c0@m6805> Lambert, I guess I don't understand where the argument is? >A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. Exactly, is that not what I said? The only thing I add to that is that in order to truly function as an (effective) library the code maintenance needs to occur in a single location - fix once, fix everywhere. You can call an MDB application a library if you want (by your definition), since it can be referenced by something else to use code within it, but if there is not a single point of repair then it is just a code container. I have to guess that you are picking semantic nits here? I am discussing (or trying to anyway) a concept which is specifically "fix once, fix everywhere". The fact that you can violate that using some loophole or another is beside MY point. My point is very simply that "cut and paste" from a code repository is asking for nightmarish maintenance issues. A "library" or whatever you wish to call it, is an effective method of solving that nightmarish maintenance issue. >Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. True in a compiled environment. In an Access environment this is only true if the library is an MDE (and / or possibly the app is an MDE). If it is an MDA lib and an mdb FE then this is not true. >I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. You can reference an XLS? I was not aware of that. If you use the reference wizard (in Access), the drop down has a very specific list of file types and no excel file types are included in that list. If what you say is true then XLSs can function as a code container or library. Can you do the same thing with a .DOC file? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 2:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd666 at yahoo.com Thu May 3 15:01:33 2007 From: accessd666 at yahoo.com (Sad Der) Date: Thu, 3 May 2007 13:01:33 -0700 (PDT) Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <010b01c78dad$c8537600$657aa8c0@m6805> Message-ID: <847659.78014.qm@web31610.mail.mud.yahoo.com> Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On > Behalf Of Mark A Matte > Sent: Thursday, May 03, 2007 1:39 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Wow...I can't wait for the conference this year. > > Should we have arm wrestling or boxing matches...lol > > I love this list!!! > > Mark > > > >From: "Charlotte Foust" > > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Date: Thu, 3 May 2007 10:15:47 -0700 > > > >The difference is that libraries in managed code > are compiled into a > >dll. Once that happens, they are no longer > available to be messed with > >by the curious, and they are true libraries, as > opposed to mdbs with a > >different name and a breakable reference in the > tools menu. > > > >You are willfully misinterpreting what I said in > order to prove your > >point, but I've totally lost track of what the > point was! I'm not > >arguing that libraries are bad, so why are you > arguing with me and what > >am I supposed to give up on?? > > > >Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jwcolby at colbyconsulting.com Thu May 3 15:01:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 16:01:29 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> References: <00c101c78d7f$30fd5420$657aa8c0@m6805> <0JHG000Z9VKDQ383@vms040.mailsrvcs.net> Message-ID: <011e01c78dbd$d6fd0530$657aa8c0@m6805> Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 3 15:04:02 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 13:04:02 -0700 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <847659.78014.qm@web31610.mail.mud.yahoo.com> References: <010b01c78dad$c8537600$657aa8c0@m6805> <847659.78014.qm@web31610.mail.mud.yahoo.com> Message-ID: Even programmers who are chained to their desktops get periodic breaks. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A > Matte > Sent: Thursday, May 03, 2007 1:39 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] FMS Inc. Sourcebook > > Wow...I can't wait for the conference this year. > > Should we have arm wrestling or boxing matches...lol > > I love this list!!! > > Mark > > > >From: "Charlotte Foust" > > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] FMS Inc. Sourcebook > >Date: Thu, 3 May 2007 10:15:47 -0700 > > > >The difference is that libraries in managed code > are compiled into a > >dll. Once that happens, they are no longer > available to be messed with > >by the curious, and they are true libraries, as > opposed to mdbs with a > >different name and a breakable reference in the > tools menu. > > > >You are willfully misinterpreting what I said in > order to prove your > >point, but I've totally lost track of what the > point was! I'm not > >arguing that libraries are bad, so why are you > arguing with me and what > >am I supposed to give up on?? > > > >Charlotte Foust > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 3 15:12:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 16:12:29 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: References: <010b01c78dad$c8537600$657aa8c0@m6805><847659.78014.qm@web31610.mail.mud.yahoo.com> Message-ID: <012001c78dbf$6090a2b0$657aa8c0@m6805> Somebody definitely needs to tighten her chains though!!! Me, I'm a consultant, working in my office over my bedroom. I am sooooo efficient using my libs that I sit around all day blowing bubbles. Sometimes poking Charlotte with a stick momentarily becomes more fun than blowing bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 03, 2007 4:04 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Even programmers who are chained to their desktops get periodic breaks. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Sad Der Sent: Thursday, May 03, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Oh dear, I was just asking a question and look where it got us :-) But I really would like to know where you guys work...by the amount of replies you're not very busy...or highly effective using Libraries whoehaha Sander --- JWColby wrote: > LOL. Tag teams!!! But Charlotte is on MY TEAM! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From Lambert.Heenan at AIG.com Thu May 3 15:16:05 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 16:16:05 -0400 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> " I have to guess that you are picking semantic nits here? I am discussing (or trying to anyway) a concept which is specifically "fix once, fix everywhere". The fact that you can violate that using some loophole or another is beside MY point. My point is very simply that "cut and paste" from a code repository is asking for nightmarish maintenance issues. A "library" or whatever you wish to call it, is an effective method of solving that nightmarish maintenance issue." I think I might have missed somebody's point earlier on myself :-) I am not advocating cutting and pasting favorite routines from some rag-tag collection of code text either. I'm with you there. You want to have a fully functional mde/mda/mdb/dll/ocx (whatever) that has all the routines you wish to share amongst applications. The specifics of what may or may not need to be recompiled is just a technology dependency. Sometime you need to recompile, sometimes not. As for other Office references. Yes you can set a reference to a "library" .XLS file - from any other .XLS file. And yes you can also create a .DOC (or .DOT) Word file with a bunch of code and set a reference to that = from within another Word document. What you cannot do is set a reference to an Excel 'Library' from with an Word doc, or visa versa. Lambert From Lambert.Heenan at AIG.com Thu May 3 15:29:38 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 3 May 2007 16:29:38 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402CB@xlivmbx35.aig.com> Now now. Let's not get everyone jealous of your 18 foot commute! :-) Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 4:12 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - Somebody definitely needs to tighten her chains though!!! Me, I'm a consultant, working in my office over my bedroom. I am sooooo efficient using my libs that I sit around all day blowing bubbles. Sometimes poking Charlotte with a stick momentarily becomes more fun than blowing bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Thu May 3 17:30:11 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 15:30:11 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <011e01c78dbd$d6fd0530$657aa8c0@m6805> Message-ID: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From galeper at gmail.com Thu May 3 18:34:02 2007 From: galeper at gmail.com (Gale Perez) Date: Thu, 3 May 2007 16:34:02 -0700 Subject: [AccessD] (1) Text Box Formatted as " >" and (2) function to get user name for Windows In-Reply-To: <46366C52.25936.38E67B78@stuart.lexacorp.com.pg> References: <5b2621db0704301510o68d4e9aeu35b66872155cd2dd@mail.gmail.com> <46366C52.25936.38E67B78@stuart.lexacorp.com.pg> Message-ID: <5b2621db0705031634j175be1dcsafdc1d6f3dbd5cec@mail.gmail.com> Thank you so much!! Gale On 4/30/07, Stuart McLachlan wrote: > > On 30 Apr 2007 at 15:10, Gale Perez wrote: > > > Hi! > > > > It has been a while since I have developed in Access, and I'm reviewing > my > > old databases (I am very indebted to this group for assistance in > developing > > them). I cannot remember what the ">" character in the Format property > of a > > text box does and hoped someone can tell me. > > > > Displays characters as upper case. > > > I also had been given a function to get the Novell User Name of a user > in > > order to set user permissions, etc. without having an actual login box > (it > > gets the Novell user name automatically and compares that to the one > stored > > in the table to see if the user is in the database). It works > beautifully > > but now I am working in Windows, and I wondered whether a similar > function > > exists for Windows (XP and other versions). > > Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" > (ByVal > lpBuffer As String, nSize As Long) As Long > > Function UserName() As String > Dim strUName As String > Dim lngRetVal As Long > strUName = Space$(16) > lngRetVal = GetUserName(strUName, 16) > strUName = Trim$(strUName) > 'strip Chr$(0) from end of name > UserName = Left$(strUName, Len(strUName) - 1) > End Function > > -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From martyconnelly at shaw.ca Thu May 3 18:42:26 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 03 May 2007 16:42:26 -0700 Subject: [AccessD] Method to replace loss of User Level Security in Access 2007 In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> Message-ID: <463A7362.1000903@shaw.ca> I got pointed to this on an another list by Bill Mosca. It could be a replacement for the loss of User Level Security in Access 2007, It shows how to go about limiting permissions in the new accdb file format to forms and data. The method called vPPC ? Virtual Password Protected Connection involves a mid-tier accdb. There are also two sample 2003 and 2007 databases. http://www.pdtltd.co.uk/pdtl/technicalresources.htm -- Marty Connelly Victoria, B.C. Canada From cfoust at infostatsystems.com Thu May 3 18:46:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 3 May 2007 16:46:42 -0700 Subject: [AccessD] Method to replace loss of User Level Security in Access2007 In-Reply-To: <463A7362.1000903@shaw.ca> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> <463A7362.1000903@shaw.ca> Message-ID: Ooooh, good stuff!! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 03, 2007 4:42 PM To: Access Developers discussion and problem solving Subject: [AccessD] Method to replace loss of User Level Security in Access2007 I got pointed to this on an another list by Bill Mosca. It could be a replacement for the loss of User Level Security in Access 2007, It shows how to go about limiting permissions in the new accdb file format to forms and data. The method called vPPC - Virtual Password Protected Connection involves a mid-tier accdb. There are also two sample 2003 and 2007 databases. http://www.pdtltd.co.uk/pdtl/technicalresources.htm -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From galeper at gmail.com Thu May 3 18:59:12 2007 From: galeper at gmail.com (Gale Perez) Date: Thu, 3 May 2007 16:59:12 -0700 Subject: [AccessD] Form or Subform Dirty Message-ID: <5b2621db0705031659p54cc09a8p9c22eba1bf995ffd@mail.gmail.com> Hi! I have a form/subform and am trying to determine whether it is dirty, but "it" isn't seeing the record as having been modified whether I say "Me.Dirty" or the syntax below. I am not getting the message box to fire. I would greatly appreciate any assistance. Here is the basic code: If Me.mysubformname.Form.Dirty Then If MsgBox("Do you want to save your changes?", vbYesNo) = vbYes Then 'do whatever Else 'undo changes End if Else 'do whatever End if Once I get the message box to fire, I anticipate having problems changing the subform controls and wonder if Me.Undo, or the MS suggestion ctl.Value = ctl.OldValue, or if I would have to include a reference to the subform. Thank you very much for any advice. Gale From john at winhaven.net Thu May 3 20:15:05 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 20:15:05 -0500 Subject: [AccessD] Lists on DBA site In-Reply-To: References: Message-ID: <002a01c78de9$a6f63c40$6402a8c0@ScuzzPaq> Hi Mark, Sounds like a good idea. You can send it to me and we'll look into it. I'll keep in touch with you about it. Thanks for thinking of it. John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 03, 2007 1:28 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lists on DBA site Eight years ago when I joined this list...one of the first recommended sites I remember ended up shutting down a few years later. It was http://www.vbapi.com/index.html It was a list of 100's of API calls and what references where needed with each one. I used it all the time(and occasionally still)...but before it shut down, a zipped version of the site was available. Would this be a candidate for the 'LISTS' part of the website...and if so...who should I send it too? Thanks, Mark A. Matte _________________________________________________________________ Download Messenger. Join the im Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From jwcolby at colbyconsulting.com Thu May 3 20:33:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 21:33:53 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> Message-ID: <000001c78dec$47792b30$657aa8c0@m6805> Could you please just give me a valid syntax for setting a variable equal to the string C:\MyDir\MyFileName.txt? It appears that it doesn't like the \ but I cannot figure out how to please the SQL gods. I need a variable @filePath I need to set @FilePath = 'C:\MyDir\' I get an error: Incorrect syntax near '\' Once I get that, I need to append the file name in @FileName SET @FilePath = @FilePath + @FileName This is the year 2007 for crying out loud and I am getting "invalid syntax near '\' .." back from my computer. I feel like Scotty in Star trek - The Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking into it... Computer, I need... Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Thu May 3 20:51:11 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 18:51:11 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <0JHH00AREUHCM353@vms042.mailsrvcs.net> DECLARE @FilePath varchar(255) DECLARE @FileName varchar(255) SET @FileName = 'MyFileName.txt' SET @FilePath = 'C:\MyDir\' + @FileName SELECT @FilePath -- this line should give you C:\MyDir\MyFileName.txt as the result -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 6:34 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Could you please just give me a valid syntax for setting a variable equal to the string C:\MyDir\MyFileName.txt? It appears that it doesn't like the \ but I cannot figure out how to please the SQL gods. I need a variable @filePath I need to set @FilePath = 'C:\MyDir\' I get an error: Incorrect syntax near '\' Once I get that, I need to append the file name in @FileName SET @FilePath = @FilePath + @FileName This is the year 2007 for crying out loud and I am getting "invalid syntax near '\' .." back from my computer. I feel like Scotty in Star trek - The Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking into it... Computer, I need... Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 1:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, I have written an SP to do what I need, but of course... The sproc looks like: CREATE PROCEDURE BulkInsertInfutor @FilName Char(25) AS BEGIN SET NOCOUNT ON; BULK INSERT INFUTOR.dbo.Infutor FROM 'D:\PSMData\Infutor\CSV\' + @FilName WITH ( ) END I am getting a "parse error" Incorrect syntax near + Incorrect syntax near With I think if I can solve this parse error I will be there. Then... How do you call it from Access? I a query? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 9:17 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Here's a template to create the sproc. CREATE PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END If the sproc already exists change CREATE to ALTER ALTER PROC sp_readTextFile @filename sysname as BEGIN SET nocount ON CREATE TABLE #tempfile (line varchar(8000)) EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') SELECT * FROM #tempfile DROP TABLE #tempfile END -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 5:33 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Calling a stored procedure from Access I am on the final leg of the data import for the 100 million record data import. I have about 30 remaining "csv files" in a directory which have to be imported to SQL Server. ATM I am manually editing a query which looks like: BULK INSERT Infutor.dbo.infutor FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' with ( yadayada ) Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and NAR_ND1.CSV' is the file currently being processed. I have a table of all the files from a preprocessor I wrote that generated the csv files. If I could turn query into a stored procedure with a parameter for the file name, I could then call the stored procedure from Access and pass in the filenames. I have never done this before so I need to know how this is done. I have created a couple of stored procedures but none with a parameter that has to be appended to a string etc. All of my books make a rather huge assumption that any parameters passed in will be used a filters in where clauses and so forth, and completely ignore things like constants and variables inside of the stored procedure. My ASSUMPTION is that I can create a constant to hold the path, dim a variable to hold the finished file name with path, then append the path constant and the passed in parameter and store the results in the string variable. Then I can use that to replace the string in the FROM clause. Or just do the append directly "in place" in the FROM clause. At any rate I end up with something like: . . . FROM 'D:\PSMData\infutor\CSV\' & @FileName QUESTIONS: 1) Having created this stored procedure, how do I get it to save? Whenever I try to save it SQL Server tries to save it out as a text file on disk. 2) Having saved it, how do I execute it from Access passing in the file names. If I can get this concept down I will be a huge step further along in my automation task. Any help is much appreciated. John W. Colby Colby Consulting www.ColbyConsulting.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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From john at winhaven.net Thu May 3 21:32:14 2007 From: john at winhaven.net (John Bartow) Date: Thu, 3 May 2007 21:32:14 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C2069402B8@xlivmbx35.aig.com> Message-ID: <003101c78df4$6dc34980$6402a8c0@ScuzzPaq> FYI - you can also do this with a .ppa in PowerPoint. Yes, i know that's going to be soooo useful for all you ;o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 3:16 PM As for other Office references. Yes you can set a reference to a "library" .XLS file - from any other .XLS file. And yes you can also create a .DOC (or .DOT) Word file with a bunch of code and set a reference to that = from within another Word document. What you cannot do is set a reference to an Excel 'Library' from with an Word doc, or visa versa. From jwcolby at colbyconsulting.com Thu May 3 21:37:53 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 22:37:53 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00AREUHCM353@vms042.mailsrvcs.net> References: <000001c78dec$47792b30$657aa8c0@m6805> <0JHH00AREUHCM353@vms042.mailsrvcs.net> Message-ID: <000101c78df5$38e0d0b0$657aa8c0@m6805> OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com From stuart at lexacorp.com.pg Thu May 3 21:35:28 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 04 May 2007 12:35:28 +1000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000001c78dec$47792b30$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805>, <0JHH00KTUL6FVN82@vms040.mailsrvcs.net>, <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <463B2890.6303.478AF00@stuart.lexacorp.com.pg> Don't know what you are doing wrong, but: This works: CREATE PROCEDURE test @PATHNAME varchar(50), @FILENAME varchar(50) AS select @pathname + @filename GO "test 'c:\testdir\', 'myfile.txt'" in Query Analyser returns the string "c:\testdir\myfile.txt" Change the SProc to: CREATE PROCEDURE test @FILENAME varchar(50) AS declare @pathname varchar(50) set @pathname = 'C:\TestDir\' select @pathname + @filename GO and then "test 'myfile.txt'" returns the same as above On 3 May 2007 at 21:33, JWColby wrote: > Could you please just give me a valid syntax for setting a variable equal to > the string C:\MyDir\MyFileName.txt? > > It appears that it doesn't like the \ but I cannot figure out how to please > the SQL gods. > > I need a variable > > @filePath > > I need to set @FilePath = 'C:\MyDir\' > > I get an error: > > Incorrect syntax near '\' > > Once I get that, I need to append the file name in @FileName > > SET @FilePath = @FilePath + @FileName > > This is the year 2007 for crying out loud and I am getting "invalid syntax > near '\' .." back from my computer. I feel like Scotty in Star trek - The > Voyage Home... Trying to use a Macintosh... picks up the mouse, speaking > into it... Computer, I need... > > Thanks, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro > Sent: Thursday, May 03, 2007 6:30 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > John, > > Here's how I created the bulk insert statement for my application... > > ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft > @DataFileName varchar(255), > @ImportFormatFileName varchar(255) > AS > BEGIN > -- SET NOCOUNT ON added to prevent extra result sets from > -- interfering with SELECT statements. > SET NOCOUNT ON; > > DECLARE @sql varchar(1000) > > -- Create a table to hold the data > CREATE TABLE #tmpEmployees > ( > suffix varchar(5), > last_name varchar(30), > first_name varchar(20), > > ...the rest of your fields go in here > > ) > -- Read the text file into the temp table > SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + > @DataFileName + CHAR(39) > SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + > @ImportFormatFileName + CHAR(39) + ')' > > EXEC (@sql) > > -- Remove the records from the Employees table first > --NOTE: truncate bypasses transaction log but it is the fastest way > to clear a table and reset identity fields; use DELETE FROM if you want to > recover using t-log > TRUNCATE TABLE Employees > -- insert the records into the Employees table > INSERT INTO Employees > SELECT > RTRIM(suffix) as suffix, > RTRIM(last_name) as last_name, > RTRIM(first_name) as first_name, > > ...the rest of your fields go in here > > FROM #tmpEmployees > -- And then clean up > DROP TABLE #tmpEmployees > END > > Here's a link that shows how to call the sproc using ADO via Access. > > http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 > > > --Eric > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Thursday, May 03, 2007 1:01 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > Eric, > > I have written an SP to do what I need, but of course... > > The sproc looks like: > > CREATE PROCEDURE BulkInsertInfutor > @FilName Char(25) > AS > BEGIN > SET NOCOUNT ON; > BULK INSERT INFUTOR.dbo.Infutor > FROM 'D:\PSMData\Infutor\CSV\' + @FilName > WITH ( > > ) > END > > I am getting a "parse error" > > Incorrect syntax near + > Incorrect syntax near With > > I think if I can solve this parse error I will be there. > > Then... How do you call it from Access? I a query? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro > Sent: Thursday, May 03, 2007 9:17 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Calling a stored procedure from Access > > Here's a template to create the sproc. > > CREATE PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > > If the sproc already exists change CREATE to ALTER > > ALTER PROC sp_readTextFile @filename sysname as > > > BEGIN > SET nocount ON > CREATE TABLE #tempfile (line varchar(8000)) > EXEC ('bulk INSERT #tempfile FROM "' + @filename + '"') > SELECT * FROM #tempfile > DROP TABLE #tempfile > END > > -- Assumes:Usage : (if using Query Analyzer in SQL server) EXEC > sp_readTextFile 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Thursday, May 03, 2007 5:33 AM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Calling a stored procedure from Access > > I am on the final leg of the data import for the 100 million record data > import. I have about 30 remaining "csv files" in a directory which have to > be imported to SQL Server. ATM I am manually editing a query which looks > like: > > BULK INSERT Infutor.dbo.infutor > FROM 'D:\PSMData\infutor\CSV\NAR_ND1.CSV' > with ( > yadayada > ) > > Obviously 'D:\PSMData\infutor\CSV\ is the path to the files and > NAR_ND1.CSV' is the file currently being processed. > > I have a table of all the files from a preprocessor I wrote that generated > the csv files. If I could turn query into a stored procedure with a > parameter for the file name, I could then call the stored procedure from > Access and pass in the filenames. > > I have never done this before so I need to know how this is done. I have > created a couple of stored procedures but none with a parameter that has to > be appended to a string etc. All of my books make a rather huge assumption > that any parameters passed in will be used a filters in where clauses and so > forth, and completely ignore things like constants and variables inside of > the stored procedure. > > My ASSUMPTION is that I can create a constant to hold the path, dim a > variable to hold the finished file name with path, then append the path > constant and the passed in parameter and store the results in the string > variable. Then I can use that to replace the string in the FROM clause. Or > just do the append directly "in place" in the FROM clause. At any rate I > end up with something like: > > . > . > . > FROM 'D:\PSMData\infutor\CSV\' & @FileName > > QUESTIONS: > > 1) Having created this stored procedure, how do I get it to save? Whenever > I try to save it SQL Server tries to save it out as a text file on disk. > 2) Having saved it, how do I execute it from Access passing in the file > names. > > If I can get this concept down I will be a huge step further along in my > automation task. > > Any help is much appreciated. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 markamatte at hotmail.com Thu May 3 21:58:54 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 02:58:54 +0000 Subject: [AccessD] Lists on DBA site In-Reply-To: <002a01c78de9$a6f63c40$6402a8c0@ScuzzPaq> Message-ID: John, Sent it to Jim already. Thanks, Mark P.S...Lets watch and make sure it gets there. >From: "John Bartow" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Lists on DBA site >Date: Thu, 3 May 2007 20:15:05 -0500 > >Hi Mark, >Sounds like a good idea. You can send it to me and we'll look into it. > >I'll keep in touch with you about it. Thanks for thinking of it. > >John Bartow, President >Database Advisors, Inc. >Email: mailto:president at databaseadvisors.com >Website: http://www.databaseadvisors.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Thursday, May 03, 2007 1:28 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Lists on DBA site > >Eight years ago when I joined this list...one of the first recommended >sites >I remember ended up shutting down a few years later. It was >http://www.vbapi.com/index.html > >It was a list of 100's of API calls and what references where needed with >each one. I used it all the time(and occasionally still)...but before it >shut down, a zipped version of the site was available. > >Would this be a candidate for the 'LISTS' part of the website...and if >so...who should I send it too? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Download Messenger. Join the im Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From ebarro at verizon.net Thu May 3 22:01:13 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 20:01:13 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000101c78df5$38e0d0b0$657aa8c0@m6805> Message-ID: <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From jwcolby at colbyconsulting.com Thu May 3 22:23:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 3 May 2007 23:23:08 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> References: <000101c78df5$38e0d0b0$657aa8c0@m6805> <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net> Message-ID: <000201c78dfb$89ac32e0$657aa8c0@m6805> Eric, Thanks so much for your patience. Infutor is the database name, as well as the table name. I just changed the table to be called tblInfutor. I corrected the syntax error to get the '\n'. As soon as I put the Use statement in there I get a syntax error: A Use database statement is not allowed in a procedure, function or trigger. What I have now is: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT dbo.tblinfutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\n' + char(39) + ')' exec @SQL END I now get the error: Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename From ebarro at verizon.net Thu May 3 22:37:47 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 03 May 2007 20:37:47 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000201c78dfb$89ac32e0$657aa8c0@m6805> Message-ID: <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> Hmmm...how are you running the sproc? Are you running the sproc in the SQL query window? Or are you calling it from inside MS Access? Can you verify the following for me? 1. Where did you create the sproc? I have to assume that you created it in the Infutor database? In SQL server query window it is easy to create the sproc in the master database. 2. On SQL Management Studio click on the Infutor database and then click New Query on the toolbar and type this... EXEC BulkInsertInfutor 'NAR_MT1.csv' Are you getting an error or is it executing properly? 3. Change exec @SQL to exec (@SQL) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 8:23 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, Thanks so much for your patience. Infutor is the database name, as well as the table name. I just changed the table to be called tblInfutor. I corrected the syntax error to get the '\n'. As soon as I put the Use statement in there I get a syntax error: A Use database statement is not allowed in a procedure, function or trigger. What I have now is: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT dbo.tblinfutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\n' + char(39) + ')' exec @SQL END I now get the error: Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:01 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access So basically this is the command you end up with based on your sproc... BULK INSERT Infutor.dbo.infutor from 'D:\PSMData\INFUTOR\CSV\NAR_MT1.csv' WITH (FieldTerminator = '|', ROWTERMINATOR = '\'n) First off you have a SYNTAX ERROR in that statement '\'n) should be '\n') as I believe you meant to specify the newline character (\n) as the ROWTERMINATOR I'm guessing that's where your previous syntax error in '\' message was coming from as well... Just need to verify... Infutor is your database name? Infutor is also the table name? I recommend adding this line after the BEGIN statement in your sproc... USE databasename ...and make sure that what follows BULK INSERT is the tablename -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM From stuart at lexacorp.com.pg Thu May 3 22:56:41 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 04 May 2007 13:56:41 +1000 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000201c78dfb$89ac32e0$657aa8c0@m6805> References: <000101c78df5$38e0d0b0$657aa8c0@m6805>, <0JHH0024DXQ3WKVA@vms046.mailsrvcs.net>, <000201c78dfb$89ac32e0$657aa8c0@m6805> Message-ID: <463B3B99.7160.4C30AC4@stuart.lexacorp.com.pg> On 3 May 2007 at 23:23, JWColby wrote: > > Could not locate entry in SysDatabases for 'Bulk INSERT dbo.' ... Do you have the correct rights? Only members of the sysadmin and bulkadmin fixed server roles can execute BULK INSERT. From jwcolby at colbyconsulting.com Thu May 3 23:16:37 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 00:16:37 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> References: <000201c78dfb$89ac32e0$657aa8c0@m6805> <0JHH001BJZF4YLH3@vms044.mailsrvcs.net> Message-ID: <000301c78e03$044204b0$657aa8c0@m6805> 0) I am running the sproc from a query window directly inside of SQL Server. 1) I created the Sproc in Azul/Databases/Infutor/Programability/Stored Procedures 2) It is giving me that "could not locate entry" error message 3) THAT FIXED IT (I think). No error and the SP appears to be running. It came back awfully quickly though. 15 seconds. I just recorded the current record count (properties for the table) and ran the next file and the row count incremented by the expected value. This looks like it is working! Ant the speed appears to be even faster (14K / second vs 11K / second). With speeds like this I can afford to redo the complete count using my soon to be written code. Well... Since you da man, how would I return the number of records appended? I am shooting for a system where an Access (for now) application loads all of these files automatically, logging that they loaded, the number of records, moving the files to a backup directory etc. I have already logged how many records I converted from raw text to the CSV, so if I can get a "row count" back, preferably the number appended, but total in the table would work (I can do the math) then I could log the results to make sure the same number is appended as are in the CSV file. And THANKS for your perserverence. This is my first foray into stored procs and like all first forays, it hasn't been fun. In all of the example procs I have looked at, NONE have tried to do a bulk insert or even handled a file name. They all talk about where clauses or building up field in records or... Anything except what I need to do. Thanks again, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 11:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Hmmm...how are you running the sproc? Are you running the sproc in the SQL query window? Or are you calling it from inside MS Access? Can you verify the following for me? 1. Where did you create the sproc? I have to assume that you created it in the Infutor database? In SQL server query window it is easy to create the sproc in the master database. 2. On SQL Management Studio click on the Infutor database and then click New Query on the toolbar and type this... EXEC BulkInsertInfutor 'NAR_MT1.csv' Are you getting an error or is it executing properly? 3. Change exec @SQL to exec (@SQL) From jwcolby at colbyconsulting.com Thu May 3 23:44:38 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 00:44:38 -0400 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> Message-ID: <000401c78e06$ede53d00$657aa8c0@m6805> Eric, >http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 This code does not work for my purposes. Probably because I am not returning a recordset. I cut and pasted it in and fixed up the pieces but ended up with a "multistep process not completed. No work done" error message on the last step: GetADoRSP.Open... If I can get this part working I am golden! Thanks for your assistance in all this. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric From accessd at shaw.ca Fri May 4 00:28:25 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 03 May 2007 22:28:25 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000101c78df5$38e0d0b0$657aa8c0@m6805> Message-ID: <0JHI009OU4COJNM0@l-daemon> Hi John: I am not sure if this is the reason for your problem but all my external requests for files and applications, through Stored Procedures are run like so: CREATE PROCEDURE JTBCreateImportAll AS /* Build all the import tables */ CREATE TABLE [dbo].[Customer]( ... ... /* Import the data */ SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS OFF EXEC master..xp_cmdshell 'D:\import\ImportCustomer.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportTransactionLog.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportInventory.exe', no_output EXEC master..xp_cmdshell 'D:\import\ImportAR.exe', no_output GO ...through an external xp_cmdshell app in the master directory. The actual files that run the import routine are in compiled VB code. I can send you a copy of one of the source files so you can re-design and re-compile your own. The files are not nearly the size of yours being a maximum of 80,000 records, in delimitated text format. The creation of 80plus tables, importing the data and creating indexes usually takes about an hour. One note is there is a maximum size of a SP but by creating an UDF for each table and calling them from a SP you can easily get around that linmit. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 7:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access OK, let's try this... The following is what I have stored. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[BulkInsertInfutor] -- Add the parameters for the stored procedure here @FilName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @FileSpec varchar(1000) set @filespec = 'D:\PSMData\INFUTOR\CSV\' set @filespec = @filespec + @FilName DECLARE @SQL varchar(1000) set @SQL = 'BULK INSERT Infutor.dbo.infutor from ' + char(39) + @filespec + char(39) set @SQL = @SQL +' WITH (FieldTerminator = ' set @SQL = @SQL + char(39) + '|' + char(39) + ', ' set @SQL = @SQL + 'ROWTERMINATOR = ' set @SQL = @SQL + char(39) + '\' + char(39) + 'n)' exec @SQL END When I try to do: Exec BulkInsertInfutor 'NAR_MT1.csv' I get: Msg 7202, level 11, State 2, line 22 could not find server 'BULK INSERT INFUTOR' in sys servers. TIA for all assistance, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From max.wanadoo at gmail.com Fri May 4 02:25:01 2007 From: max.wanadoo at gmail.com (Max Wanadoo) Date: Fri, 4 May 2007 08:25:01 +0100 Subject: [AccessD] Access KeyCodes Message-ID: Dear All, In the ONKEYDOWN Event of a control on my form when using Event Procedures I get the following code created:- Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) Call pfKeyPress(Keycode) ' I then add in my function to call to handle the key pressed by user End Sub However, I have 81 such controls in a 9x9 grid and the above code is repeated 81 times and I would like to remove all this and replace them all with a direct call to a function, for example if I wanted to call my own procedure to handle form events I normally use the following format in the ONEVENT that I was interested in, eg ONENTER:- =pfSetStartPoint(Form) 'in here would be my code to handle the control that had, in this example, been entered. Access understands and passes the value of (Form) which is the name of the current form. This means there is no code on the form event and all code can sit in a public procedure which can be used by any form that calls it. My problem is that if I use the format =pfKeyCode(KeyCode) to replace the ONKEYDOWN Event it complains that it does not contain the automation value of KeyCode. It DOES understand (Form) but not (KeyCode). Does anyone know how to get the value of KeyCode? Thanks Max From Andrew.Curtis at wapl.com.au Fri May 4 02:38:33 2007 From: Andrew.Curtis at wapl.com.au (Curtis, Andrew (WAPL)) Date: Fri, 4 May 2007 15:38:33 +0800 Subject: [AccessD] Access KeyCodes In-Reply-To: References: Message-ID: How about using the form's keydown event, write the keycode to a hidden control on the form (hdenKeyCode) when a key is pressed anywhere on the form, then use the onUpdate of the hdenKeyCode control to trigger your pfKeyPress(Keycode) function using pfKeyPress(forms!myform!hdenKeyCode)? I know its Friday here, give me a break :) --andrew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo Sent: Friday, 4 May 2007 3:25 PM To: Access Developers discussion and problem solving Subject: [AccessD] Access KeyCodes Dear All, In the ONKEYDOWN Event of a control on my form when using Event Procedures I get the following code created:- Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) Call pfKeyPress(Keycode) ' I then add in my function to call to handle the key pressed by user End Sub However, I have 81 such controls in a 9x9 grid and the above code is repeated 81 times and I would like to remove all this and replace them all with a direct call to a function, for example if I wanted to call my own procedure to handle form events I normally use the following format in the ONEVENT that I was interested in, eg ONENTER:- =pfSetStartPoint(Form) 'in here would be my code to handle the control that had, in this example, been entered. Access understands and passes the value of (Form) which is the name of the current form. This means there is no code on the form event and all code can sit in a public procedure which can be used by any form that calls it. My problem is that if I use the format =pfKeyCode(KeyCode) to replace the ONKEYDOWN Event it complains that it does not contain the automation value of KeyCode. It DOES understand (Form) but not (KeyCode). Does anyone know how to get the value of KeyCode? Thanks Max -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com This message and any attached files may contain information that is confidential and/or subject of legal privilege intended only for use by the intended recipient. If you are not the intended recipient or the person responsible for delivering the message to the intended recipient, be advised that you have received this message in error and that any dissemination, copying or use of this message or attachment is strictly forbidden, as is the disclosure of the information therein. If you have received this message in error please notify the sender immediately and delete the message. From BarbaraRyan at cox.net Fri May 4 04:52:38 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Fri, 4 May 2007 05:52:38 -0400 Subject: [AccessD] Access KeyCodes References: Message-ID: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> Max....Using a class may help. Check out the downloads (on classes/framework) on John Colby's site at http://www.colbyconsulting.com/ .....Barb ----- Original Message ----- From: "Max Wanadoo" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 3:25 AM Subject: [AccessD] Access KeyCodes > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event Procedures > I > get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the > key pressed by user > End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested in, > eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that > had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the > current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used > by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace the > ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not > (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bbruen at unwired.com.au Fri May 4 07:23:21 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 4 May 2007 22:23:21 +1000 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year Message-ID: <200705042223.22841.bbruen@unwired.com.au> I dont know the heratige of this, but it certainly had me laughing. avagoodweekend! Below is a copy of a letter that won a competition in UK as complaint letter of the year...have a laugh and read on. Complaint Letter of the Year. The British do have a way with words.... A real-life customer complaint letter sent to -- (to their complaints dept....) Dear Cretins, I have been an -- customer since 9th July 2001, when I signed up for your 3-in-one deal for cable TV, cable modem, and telephone. During this three-month period I have encountered inadequacy of service which I had not previously considered possible, as well as ignorance and stupidity of monolithic proportions. Please allow me to provide specific details, so that you can either pursue your professional perogative, and seek to rectify these difficulties - or more likely (I suspect) so that you can have some entertaining reading material as you while away the working day smoking B&H and drinking vendor-coffee on the bog in your office: My initial installation was cancelled without warning, resulting in my spending an entire Saturday sitting on my fat arse waiting for your technician to arrive. When he did not arrive, I spent a further 57 minutes listening to your infuriating hold music, and the even more annoying Scottish robot woman telling me to look at your helpful website....HOW? I alleviated the boredom by playing with my testicles for a few minutes - an activity at which you are no-doubt both familiar and highly adept. The rescheduled installation then took place some two weeks later, although the technician did forget to bring a number of vital tools - such as a drill-bit, and his cerebrum. Two weeks later, my cable modem had still not arrived. After 15 telephone calls over 4 weeks my modem arrived... six weeks after I had requested it, and begun to pay for it. I estimate your internet server's downtime is roughly 35%... hours between about 6pm -midnight, Mon-Fri, and most of the weekend. I am still waiting for my telephone connection. I have made 9 calls on my mobile to your no-help line, and have been unhelpfully transferred to a variety of disinterested individuals, who are it seems also highly skilled bollock jugglers. I have been informed that a telephone line is available (and someone will call me back); that no telephone line is available (and someone will call me back); that I will be transferred to someone who knows whether or not a telephone line is available (and then been cut off); that I will be transferred to someone (and then been redirected to an answer machine informing me that your office is closed); that I will be transferred to someone and then been redirected to the irritating Scottish robot woman...and several other variations on this theme. Doubtless you are no longer reading this letter, as you have at least a thousand other dissatisfied customers to ignore, and also another one of those crucially important testicle-moments to attend to. Frankly I don't care, it's far more satisfying as a customer to voice my frustration's in print than to shout them at your unending hold music. Forgive me, therefore, if I continue. I thought ** were shit, that they had attained the holy piss-pot of god- awful customer relations, that no-one, anywhere, ever, could be more disinterested, less helpful or more obstructive to delivering service to their customers. That's why I chose ---, and because, well, there isn't anyone else is there? How surprised I therefore was, when I discovered to my considerable dissatisfaction and disappointment what a useless shower of bastards you truly are. You are sputum-filled pieces of distended rectum incompetents of the highest order. @@ - wankers though they are - shine like brilliant beacons of success, in the filthy puss-filled mire of your seemingly limitless inadequacy. Suffice to say that I have now given up on my futile and foolhardy quest to receive any kind of service from you. I suggest that you cease any potential future attempts to extort payment from me for the services which you have so pointedly and catastrophically failed to deliver - any such activity will be greeted initially with hilarity and disbelief quickly be replaced by derision, and even perhaps bemused rage. I enclose two small deposits, selected with great care from my cats litter tray, as an expression of my utter and complete contempt for both you and your pointless company. I sincerely hope that they have not become desiccated during transit - they were satisfyingly moist at the time of posting, and I would feel considerable disappointment if you did not experience both their rich aroma and delicate texture. Consider them the very embodiment of my feelings towards NTL, and its worthless employees. Have a nice day - may it be the last in you miserable short life, you irritatingly incompetent and infuriatingly unhelpful bunch of twats. John -- regards Bruce From bbruen at unwired.com.au Fri May 4 08:06:04 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 4 May 2007 23:06:04 +1000 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042223.22841.bbruen@unwired.com.au> References: <200705042223.22841.bbruen@unwired.com.au> Message-ID: <200705042306.05056.bbruen@unwired.com.au> On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce From Kwilliamson at RTKL.com Fri May 4 08:25:31 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 09:25:31 -0400 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042306.05056.bbruen@unwired.com.au> References: <200705042223.22841.bbruen@unwired.com.au> <200705042306.05056.bbruen@unwired.com.au> Message-ID: OMG!!! Too damn funny. I didn't know that Comcast was in the UK. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bruce Bruen Sent: Friday, May 04, 2007 9:06 AM To: Access Developers discussion and problem solving; Vince Daloia Subject: Re: [AccessD] OT: Friday,and rather long. Complaint letter of the year On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From Elizabeth.J.Doering at wellsfargo.com Fri May 4 09:36:09 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 09:36:09 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net> <000001c78dec$47792b30$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" From ebarro at verizon.net Fri May 4 09:36:28 2007 From: ebarro at verizon.net (Eric Barro) Date: Fri, 04 May 2007 07:36:28 -0700 Subject: [AccessD] Calling a stored procedure from Access In-Reply-To: <000401c78e06$ede53d00$657aa8c0@m6805> Message-ID: <0JHI001ZVTWZJNN4@vms048.mailsrvcs.net> John, I can't find the code in my code VBA/VBScript LIBRARY (I do know I have it...just have to dig through my CD archives) but the general approach would go something like this... Option 1 1. Add this line at the end of your sproc - RETURN @@ROWCOUNT 2. Use the ADO command object 3. Add a command parameter and define that parameter as output in scope (must be the first parameter) 4. After executing the sproc grab the value of that parameter Option 2 1. Add an output parameter to your sproc (i.e. @retVal int=0, OUTPUT) 2. Add this line at the bottom of the sproc (SET @retVal = @@ROWCOUNT) 3. At the end of the sproc return that value (i.e. RETURN @retVal) 4. Use the ADO command object 5. After executing the sproc grab the value of that parameter --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 03, 2007 9:45 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access Eric, >http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 This code does not work for my purposes. Probably because I am not returning a recordset. I cut and pasted it in and fixed up the pieces but ended up with a "multistep process not completed. No work done" error message on the last step: GetADoRSP.Open... If I can get this part working I am golden! Thanks for your assistance in all this. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Thursday, May 03, 2007 6:30 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Calling a stored procedure from Access John, Here's how I created the bulk insert statement for my application... ALTER PROCEDURE dbo.ImportEmployeesFromPeopleSoft @DataFileName varchar(255), @ImportFormatFileName varchar(255) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @sql varchar(1000) -- Create a table to hold the data CREATE TABLE #tmpEmployees ( suffix varchar(5), last_name varchar(30), first_name varchar(20), ...the rest of your fields go in here ) -- Read the text file into the temp table SET @sql ='BULK INSERT #tmpEmployees FROM ' + CHAR(39) + @DataFileName + CHAR(39) SET @sql = @sql + ' WITH (FORMATFILE = ' + CHAR(39) + @ImportFormatFileName + CHAR(39) + ')' EXEC (@sql) -- Remove the records from the Employees table first --NOTE: truncate bypasses transaction log but it is the fastest way to clear a table and reset identity fields; use DELETE FROM if you want to recover using t-log TRUNCATE TABLE Employees -- insert the records into the Employees table INSERT INTO Employees SELECT RTRIM(suffix) as suffix, RTRIM(last_name) as last_name, RTRIM(first_name) as first_name, ...the rest of your fields go in here FROM #tmpEmployees -- And then clean up DROP TABLE #tmpEmployees END Here's a link that shows how to call the sproc using ADO via Access. http://www.tek-tips.com/viewthread.cfm?qid=1362565&page=1 --Eric -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From developer at ultradnt.com Fri May 4 10:03:43 2007 From: developer at ultradnt.com (Steve Conklin) Date: Fri, 4 May 2007 11:03:43 -0400 Subject: [AccessD] Access KeyCodes In-Reply-To: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> References: <006201c78e31$f38463f0$0a00a8c0@PCRURI35> Message-ID: <008601c78e5d$6bfbdf40$0200a8c0@ULTRADNT> Is the form's key preview property set to true/yes? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Friday, May 04, 2007 5:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access KeyCodes Max....Using a class may help. Check out the downloads (on classes/framework) on John Colby's site at http://www.colbyconsulting.com/ .....Barb ----- Original Message ----- From: "Max Wanadoo" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 3:25 AM Subject: [AccessD] Access KeyCodes > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event Procedures > I > get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the > key pressed by user > End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested in, > eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that > had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the > current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used > by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace the > ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not > (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 10:11:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:11:04 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: <001a01c78e5e$6fa87710$657aa8c0@m6805> "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Fri May 4 10:11:06 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Fri, 4 May 2007 10:11:06 -0500 Subject: [AccessD] FMS Inc. Sourcebook Message-ID: Now THAT is an interesting tidbit from this discussion. I'll have to play with that one. As far as cut and paste is concerned I have to agree with John. Personally I think cut-and-masking tape is much preferable. :-) Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 1:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert -- *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From pcs at azizaz.com Fri May 4 10:19:17 2007 From: pcs at azizaz.com (Borge Hansen) Date: Sat, 5 May 2007 01:19:17 +1000 Subject: [AccessD] code to find the population within a radius of a zip code References: <0JHB006MNTMD9X70@l-daemon><006b01c78b68$04a684f0$657aa8c0@m6805> <007501c78b6f$8bb4a150$657aa8c0@m6805> Message-ID: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> >John Colby wrote: >I converted the code to find the population within a radius of a zip code. Hi John, What does your VBA code look like? I am using a code that will find a subset of records based on their geocode within a near enough square, ...and querying the recordset like this ....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is between "most western Long" and "most eastern Long" Interested to see your code based on a circle construct..... Regards borge From Elizabeth.J.Doering at wellsfargo.com Fri May 4 10:19:43 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 10:19:43 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Kwilliamson at RTKL.com Fri May 4 10:22:01 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 11:22:01 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001a01c78e5e$6fa87710$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: Wow...don't sugar-coat it, John....let us really know what you think. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From mmattys at rochester.rr.com Fri May 4 10:21:14 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Fri, 4 May 2007 11:21:14 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - References: <010b01c78dad$c8537600$657aa8c0@m6805> <847659.78014.qm@web31610.mail.mud.yahoo.com> <012001c78dbf$6090a2b0$657aa8c0@m6805> Message-ID: <009501c78e5f$dc9f4050$0302a8c0@Laptop> My usual supplier seems to be out at the moment as there was a run on bubbles yesterday for some reason that has yet to be determined ... Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 03, 2007 4:12 PM Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - > Somebody definitely needs to tighten her chains though!!! > > Me, I'm a consultant, working in my office over my bedroom. I am sooooo > efficient using my libs that I sit around all day blowing bubbles. > Sometimes poking Charlotte with a stick momentarily becomes more fun than > blowing bubbles. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From jwcolby at colbyconsulting.com Fri May 4 10:21:41 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:21:41 -0400 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: References: Message-ID: <001b01c78e5f$eb11d440$657aa8c0@m6805> That is indeed an interesting tidbit. So far I have not done any work directly in the other office applications. I have saved code in modules in Excel, but I have only ever used it by calling it by automation. It is probably useless info to me but if I ever do just have to do work in the other apps it will be good to know. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook Now THAT is an interesting tidbit from this discussion. I'll have to play with that one. As far as cut and paste is concerned I have to agree with John. Personally I think cut-and-masking tape is much preferable. :-) Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 03, 2007 1:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook I'm on Charlotte's side with this one. :-) A "library" is a grouping of executable code which can be linked to or have references set to and the code within becomes available to the client application. No cutting and pasting involved. The point being that the code in question is immediately usable by the client once the linkage has been established. There's also no cherry picking of code routines to make available. Link to a library and you get it all. Typically, whenever a library file is modified in any way all the client applications need to be recompiled as the references/jump tables (or whatever else is used behind the scenes to define the code entry points) will have changed. " Access is the ONLY Office application that allows libraries but they are indeed libraries. " I can't agree with that statement either. I can put a bunch of code modules into an Excel file, and in the VBA IDE I can set the project name to something other than "VBAProject". After I save the Excel file I am then able to set a reference to it in another Excel and the (public) routines in the referenced file will be available for use. I have a library. Lambert From jwcolby at colbyconsulting.com Fri May 4 10:24:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:24:08 -0400 Subject: [AccessD] FMS Inc. Sourcebook - THE END - In-Reply-To: <009501c78e5f$dc9f4050$0302a8c0@Laptop> References: <010b01c78dad$c8537600$657aa8c0@m6805><847659.78014.qm@web31610.mail.mud.yahoo.com><012001c78dbf$6090a2b0$657aa8c0@m6805> <009501c78e5f$dc9f4050$0302a8c0@Laptop> Message-ID: <001c01c78e60$42d41b70$657aa8c0@m6805> LOL, I buy early and in quantities. I can supply you some, but of course there will be a slight markup. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Friday, May 04, 2007 11:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - My usual supplier seems to be out at the moment as there was a run on bubbles yesterday for some reason that has yet to be determined ... Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 03, 2007 4:12 PM Subject: Re: [AccessD] FMS Inc. Sourcebook - THE END - > Somebody definitely needs to tighten her chains though!!! > > Me, I'm a consultant, working in my office over my bedroom. I am sooooo > efficient using my libs that I sit around all day blowing bubbles. > Sometimes poking Charlotte with a stick momentarily becomes more fun than > blowing bubbles. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 4 10:28:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:28:04 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> Message-ID: <001d01c78e60$cf301d30$657aa8c0@m6805> Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 10:29:17 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:29:17 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <001e01c78e60$fb27e990$657aa8c0@m6805> ;~) Just thought she otta know. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Keith Williamson Sent: Friday, May 04, 2007 11:22 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table Wow...don't sugar-coat it, John....let us really know what you think. :) Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ---------------------------------------------------------------------------- ---- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Fri May 4 10:42:25 2007 From: JHewson at karta.com (Jim Hewson) Date: Fri, 4 May 2007 10:42:25 -0500 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001d01c78e60$cf301d30$657aa8c0@m6805> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 john at winhaven.net Fri May 4 10:45:36 2007 From: john at winhaven.net (John Bartow) Date: Fri, 4 May 2007 10:45:36 -0500 Subject: [AccessD] FMS Inc. Sourcebook In-Reply-To: <001b01c78e5f$eb11d440$657aa8c0@m6805> References: <001b01c78e5f$eb11d440$657aa8c0@m6805> Message-ID: <011a01c78e63$42a9cfc0$6402a8c0@ScuzzPaq> I should've mentioned that reason I do it in PowerPoint is to hold functions that I then assign to toolbar icons. Presentations can then be processed for consistency of layout, add footers to slides based on which section of the presentation they belong to, process slides to be colored on printouts or not, etc with the click a an icon. Next step is to integrate access data directly into a PowerPoint template at various points. It will definitely stretch my brain. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FMS Inc. Sourcebook That is indeed an interesting tidbit. So far I have not done any work directly in the other office applications. I have saved code in modules in Excel, but I have only ever used it by calling it by automation. It is probably useless info to me but if I ever do just have to do work in the other apps it will be good to know. From jwcolby at colbyconsulting.com Fri May 4 10:50:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 11:50:32 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> References: <001d01c78e60$cf301d30$657aa8c0@m6805> <9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> Message-ID: <002501c78e63$f2c2d5f0$657aa8c0@m6805> #3 Sitting back in my office chair, by son's bottle of bubble stuff in one hand, bubble wand in the other, blowing streams of bubbles into the air, waiting with wild anticipation for Charlotte to say anything at all that I can poke a stick at her for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Friday, May 04, 2007 11:42 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 11:04:58 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 12:04:58 -0400 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: <0JHB006MNTMD9X70@l-daemon><006b01c78b68$04a684f0$657aa8c0@m6805><007501c78b6f$8bb4a150$657aa8c0@m6805> <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <002601c78e65$f6fbd9d0$657aa8c0@m6805> What kind of records are you pulling, how many, and what is the response time. I did it with a class that has a collection of child classes. Each child class holds one point. The parent class iterates the collection of child classes comparing every child class to one specific selected child class. The company I did it for wants a "circle around a business". The calculation to find the distance is obtuse and uses a lot of math (radians, sin, cos etc) but I didn't write it, I just found it. If you wish I will send you a zip with the application. It is a table of about 70K zip codes, a couple of queries to narrow down the zips (exclude any with no lat/long) to about 42K unique zips, a form and a couple of classes to implement the logic. I pared the unused data fields out and the resultant database is about 6.7 mb unzipped, 2.25 zipped. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Borge Hansen Sent: Friday, May 04, 2007 11:19 AM To: Access Developers discussion and problem solving Subject: [AccessD] code to find the population within a radius of a zip code >John Colby wrote: >I converted the code to find the population within a radius of a zip code. Hi John, What does your VBA code look like? I am using a code that will find a subset of records based on their geocode within a near enough square, ...and querying the recordset like this ....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is between "most western Long" and "most eastern Long" Interested to see your code based on a circle construct..... Regards borge -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 4 11:14:26 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:14:26 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: The first rule is "Never believe 'never'". When I hear that word, I automatically assume the change will come sooner, not later. I always normalize this kind of data because it makes it so much easier in the long run...or in the short run if the change comes next week. Let's see, I've heard things like: The account code will never be longer than 8 characters (oops, we changed accounting programs...) We'll never need more than two addresses We'll never need a field - we don't capture that information A company will never have more than one contact name A contact will never have more than one email address/phone number/mailing address/street address ... Get the picture? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 7:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 4 11:16:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:16:42 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <001d01c78e60$cf301d30$657aa8c0@m6805> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A016520B1@msgswbmnmsp04.wellsfargo.com> <001d01c78e60$cf301d30$657aa8c0@m6805> Message-ID: Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 8:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Fri May 4 11:17:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 09:17:54 -0700 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <002501c78e63$f2c2d5f0$657aa8c0@m6805> References: <001d01c78e60$cf301d30$657aa8c0@m6805><9C382E065F54AE48BC3AA7925DCBB01C051B5FC7@karta-exc-int.Karta.com> <002501c78e63$f2c2d5f0$657aa8c0@m6805> Message-ID: John, You know you don't need an excuse, you just like to argue! LOL Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 8:51 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table #3 Sitting back in my office chair, by son's bottle of bubble stuff in one hand, bubble wand in the other, blowing streams of bubbles into the air, waiting with wild anticipation for Charlotte to say anything at all that I can poke a stick at her for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Friday, May 04, 2007 11:42 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table "...sitting in...my bedroom, blowing bubbles..." Two thoughts came to mind... 1. A person sitting in a chair with bubbles forming from the air coming from the mouth because of boredom or physical impairment waiting for a reaction. 2. Leaning back in a chair - with a jar of bubble juice with one of those little wands blowing the bubbles in the air - waiting with wild anticipation for Charlotte's response. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:28 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table Been there, done that and it ALWAYS bites me. And I was short tracked, which is precisely why I am a consultant, sitting in a luxurious office over my bedroom, blowing bubbles, waiting for Charlotte to open her mouth again. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 11:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table John, I knew I could count on you for the kick in the pants I needed. :) Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Fri May 4 11:21:25 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 12:21:25 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: <002701c78e68$43a2bc70$657aa8c0@m6805> C'mon Charlotte, give me something to poke at. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 04, 2007 12:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] When to Use a Junction Table The first rule is "Never believe 'never'". When I hear that word, I automatically assume the change will come sooner, not later. I always normalize this kind of data because it makes it so much easier in the long run...or in the short run if the change comes next week. Let's see, I've heard things like: The account code will never be longer than 8 characters (oops, we changed accounting programs...) We'll never need more than two addresses We'll never need a field - we don't capture that information A company will never have more than one contact name A contact will never have more than one email address/phone number/mailing address/street address ... Get the picture? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 7:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Fri May 4 12:59:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 04 May 2007 10:59:51 -0700 Subject: [AccessD] OT Friday In-Reply-To: Message-ID: <0JHJ00897354UEF0@l-daemon> OT Hi All: In celebration for OT Friday here is a link to an interesting product: http://www.sphinxsearch.com/ It works with MySQL and I assume a number of other DBs. My son in-law heard about this product last Monday, Installed it on his companies development servers Wednesday and the owner was delighted. So it obviously works very well. Here is something quite different. A truly stunning picture: http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=17524 Have a good day. Jim From accessd at shaw.ca Fri May 4 12:59:51 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 04 May 2007 10:59:51 -0700 Subject: [AccessD] OT: Friday, and rather long. Complaint letter of the year In-Reply-To: <200705042306.05056.bbruen@unwired.com.au> Message-ID: <0JHJ00892351UEF0@l-daemon> Brilliant... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bruce Bruen Sent: Friday, May 04, 2007 6:06 AM To: Access Developers discussion and problem solving; Vince Daloia Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter of the year On Friday 04 May 2007 22:23, Bruce Bruen wrote: > I dont know the heratige of this, but it certainly had me laughing. > avagoodweekend! > > > Below is a copy of a letter that won a competition in UK as complaint > letter of the year...have a laugh and read on. > > Complaint Letter of the Year. The British do have a way with words.... A > real-life customer complaint > > letter sent to -- (to their complaints dept....) > > Dear Cretins, > I have been an -- customer since 9th July 2001, when I signed up for > your 3-in-one deal for cable TV, cable modem, and telephone. During this > three-month period I have encountered inadequacy of service which I had > not previously considered possible, as well as ignorance and stupidity > of monolithic proportions. Please allow me to provide specific details, > so that you can either pursue your professional perogative, and seek to > rectify these difficulties - or more likely (I suspect) so that you can > have some entertaining reading material as you while away the working > day smoking B&H and drinking vendor-coffee on the bog in your office: > > My initial installation was cancelled without warning, resulting in my > spending an entire Saturday sitting on my fat arse waiting for your > technician to arrive. When he did not arrive, I spent a further 57 > minutes listening to your infuriating hold music, and the even more > annoying Scottish robot woman telling me to look at your helpful > website....HOW? > > I alleviated the boredom by playing with my testicles for a few minutes > - an activity at which you are no-doubt both familiar and highly adept. > > The rescheduled installation then took place some two weeks later, > although the technician did forget to bring a number of vital tools - > such as a drill-bit, and his cerebrum. Two weeks later, my cable modem > had still not arrived. After 15 telephone calls over 4 weeks my modem > arrived... six weeks after I had requested it, and begun to pay for it. > I estimate your internet server's downtime is roughly 35%... hours > between about 6pm -midnight, Mon-Fri, and most of the weekend. I am > still waiting for my telephone connection. I have made 9 calls on my > mobile to your no-help line, and have been unhelpfully transferred to a > variety of disinterested individuals, who are it seems also highly > skilled bollock jugglers. > > I have been informed that a telephone line is available (and someone > will call me back); that no telephone line is available (and someone > will call me back); that I will be transferred to someone who knows > whether or not a telephone line is available (and then been cut off); > that I will be transferred to someone (and then been redirected to an > answer machine informing me that your office is closed); that I will be > transferred to someone and then been redirected to the irritating > Scottish robot woman...and several other variations on this theme. > > Doubtless you are no longer reading this letter, as you have at least a > thousand other dissatisfied customers to ignore, and also another one of > those crucially important testicle-moments to attend to. Frankly I don't > care, it's far more satisfying as a customer to voice my frustration's > in print than to shout them at your unending hold music. Forgive me, > therefore, if I continue. > > I thought ** were shit, that they had attained the holy piss-pot of god- > awful customer relations, that no-one, anywhere, ever, could be more > disinterested, less helpful or more obstructive to delivering service to > their customers. That's why I chose ---, and because, well, there isn't > anyone else is there? How surprised I therefore was, when I discovered > to my considerable dissatisfaction and disappointment what a useless > shower of bastards you truly are. You are sputum-filled pieces of > distended rectum incompetents of the highest order. > > @@ - wankers though they are - shine like brilliant beacons > of success, in the filthy puss-filled mire of your seemingly limitless > inadequacy. Suffice to say that I have now given up on my futile and > foolhardy quest to receive any kind of service from you. I suggest that > you cease any potential future attempts to extort payment from me for > the services which you have so pointedly and catastrophically failed to > deliver - any such activity will be greeted initially with hilarity and > disbelief quickly be replaced by derision, and even perhaps bemused > rage. > > I enclose two small deposits, selected with great care from my > cats litter tray, as an expression of my utter and complete contempt for > both you and your pointless company. I sincerely hope that they have not > become desiccated during transit - they were satisfyingly moist at the > time of posting, and I would feel considerable disappointment if you did > not experience both their rich aroma and delicate texture. Consider them > the very embodiment of my feelings towards NTL, and its worthless > employees. > > Have a nice day - may it be the last in you miserable short life, you > irritatingly incompetent and infuriatingly unhelpful bunch of twats. > > John > > -- > regards > > Bruce -- regards Bruce -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rl_stewart at highstream.net Fri May 4 13:27:02 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 04 May 2007 13:27:02 -0500 Subject: [AccessD] Friday, and rather long. Complaint letter In-Reply-To: References: Message-ID: <200705041830.l44IUFSf014740@databaseadvisors.com> Comcast, no, it has to be AT&T. :-) At 10:24 AM 5/4/2007, you wrote: >Date: Fri, 4 May 2007 09:25:31 -0400 >From: "Keith Williamson" >Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter > of the year >To: "Access Developers discussion and problem solving" > >Message-ID: > >Content-Type: text/plain; charset="US-ASCII" > >OMG!!! Too damn funny. I didn't know that Comcast was in the UK. From cfoust at infostatsystems.com Fri May 4 13:32:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 4 May 2007 11:32:17 -0700 Subject: [AccessD] Friday, and rather long. Complaint letter In-Reply-To: <200705041830.l44IUFSf014740@databaseadvisors.com> References: <200705041830.l44IUFSf014740@databaseadvisors.com> Message-ID: I've heard the same horror stories about Verizon too. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 04, 2007 11:27 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Friday, and rather long. Complaint letter Comcast, no, it has to be AT&T. :-) At 10:24 AM 5/4/2007, you wrote: >Date: Fri, 4 May 2007 09:25:31 -0400 >From: "Keith Williamson" >Subject: Re: [AccessD] OT: Friday, and rather long. Complaint letter > of the year >To: "Access Developers discussion and problem solving" > >Message-ID: > >Content-Type: text/plain; charset="US-ASCII" > >OMG!!! Too damn funny. I didn't know that Comcast was in the UK. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Patricia.O'Connor at otda.state.ny.us Fri May 4 14:38:54 2007 From: Patricia.O'Connor at otda.state.ny.us (O'Connor, Patricia (OTDA)) Date: Fri, 4 May 2007 15:38:54 -0400 Subject: [AccessD] OT - VISTA only and XP Phase out? In-Reply-To: <463A2FB4.1050108@gmail.com> References: <463A2FB4.1050108@gmail.com> Message-ID: <01DBAB52E30A9A4AB3D94EF8029EDBE8021BAE30@EXCNYSM0A1AI.nysemail.nyenet> Thank you all for your information ************************************************** * Patricia O'Connor * Associate Computer Programmer Analyst * OTDA - BDMA * (W) mailto:Patricia.O'Connor at otda.state.ny.us * (w) mailto:aa1160 at nysemail.state.ny.us ************************************************** -------------------------------------------------------- This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. From markamatte at hotmail.com Fri May 4 14:42:34 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 19:42:34 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: JC, Is there a conference at your place scheduled? Thanks, Mark >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: [AccessD] Conference Dates >Date: Thu, 03 May 2007 18:21:35 +0000 > >Have we set dates for the conference? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Need a break? Find your escape route with Live Search Maps. >http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From jwcolby at colbyconsulting.com Fri May 4 15:11:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:11:26 -0400 Subject: [AccessD] Conference Dates In-Reply-To: References: Message-ID: <004b01c78e88$65375510$657aa8c0@m6805> There isn't but let's schedule one. The first person to pick a date gets to have it on a date convenient to him / her. Not the first two weeks of July 'cause I'm on vacation those two weeks. Blowin bubbles. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 04, 2007 3:43 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Conference Dates JC, Is there a conference at your place scheduled? Thanks, Mark From fuller.artful at gmail.com Fri May 4 15:16:23 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 4 May 2007 16:16:23 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <004b01c78e88$65375510$657aa8c0@m6805> References: <004b01c78e88$65375510$657aa8c0@m6805> Message-ID: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date gets > to > have it on a date convenient to him / her. Not the first two weeks of > July > 'cause I'm on vacation those two weeks. Blowin bubbles. > From Elizabeth.J.Doering at wellsfargo.com Fri May 4 15:17:06 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 4 May 2007 15:17:06 -0500 Subject: [AccessD] When to Use a Junction Table References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Most of your gloomy prognostications have come true already this afternoon--they 'discovered' that there are really 8 groups! Fortunately without malice. Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Kwilliamson at RTKL.com Fri May 4 15:23:11 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Fri, 4 May 2007 16:23:11 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> References: <004b01c78e88$65375510$657aa8c0@m6805> <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> Message-ID: STTTTOOOOOPPPP!!!!!!!! Now I have to clean Diet Coke off my screen!!! Too funny! Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Friday, May 04, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Conference Dates My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date gets > to > have it on a date convenient to him / her. Not the first two weeks of > July > 'cause I'm on vacation those two weeks. Blowin bubbles. > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From fuller.artful at gmail.com Fri May 4 15:24:14 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 4 May 2007 16:24:14 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805> <0JHH00KTUL6FVN82@vms040.mailsrvcs.net> <000001c78dec$47792b30$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> <001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Message-ID: <29f585dd0705041324s76c4e654ie624c688723c14d5@mail.gmail.com> Those were the optimistic prognostications, Liz. The gloomy ones are much uglier. Arthur On 5/4/07, Elizabeth.J.Doering at wellsfargo.com < Elizabeth.J.Doering at wellsfargo.com> wrote: > > > Most of your gloomy prognostications have come true already this > afternoon--they 'discovered' that there are really 8 groups! > Fortunately without malice. > > > Thanks, > > From jwcolby at colbyconsulting.com Fri May 4 15:26:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:26:04 -0400 Subject: [AccessD] Conference Dates In-Reply-To: <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> References: <004b01c78e88$65375510$657aa8c0@m6805> <29f585dd0705041316o3cc0b2d8j7b6cb884f0fe0b3d@mail.gmail.com> Message-ID: <004c01c78e8a$70b1a5b0$657aa8c0@m6805> ROTFL. My wife is picking up her email on my computer now (hers is in the shop) so I can't even go there. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Friday, May 04, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Conference Dates My choice would be Penelope Cruz. On 5/4/07, JWColby wrote: > > There isn't but let's schedule one. The first person to pick a date > gets to have it on a date convenient to him / her. Not the first two > weeks of July 'cause I'm on vacation those two weeks. Blowin bubbles. > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Fri May 4 15:27:04 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 04 May 2007 20:27:04 +0000 Subject: [AccessD] Conference Dates Message-ID: I could pick...but I really want it convenient for as many people as possible. Since I'm only 1.5 hours away...almost any dates are good for me. With that being said...June 23 weekend? Thanks, Mark A. Matte >From: "JWColby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Conference Dates >Date: Fri, 4 May 2007 16:11:26 -0400 > >There isn't but let's schedule one. The first person to pick a date gets >to >have it on a date convenient to him / her. Not the first two weeks of July >'cause I'm on vacation those two weeks. Blowin bubbles. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 04, 2007 3:43 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Conference Dates > >JC, > >Is there a conference at your place scheduled? > >Thanks, > >Mark > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more.? Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From jwcolby at colbyconsulting.com Fri May 4 15:27:31 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Fri, 4 May 2007 16:27:31 -0400 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> References: <011e01c78dbd$d6fd0530$657aa8c0@m6805><0JHH00KTUL6FVN82@vms040.mailsrvcs.net><000001c78dec$47792b30$657aa8c0@m6805><1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com><001a01c78e5e$6fa87710$657aa8c0@m6805> <1C2084FD2472124AB1812A5476EA3B7A016521F2@msgswbmnmsp04.wellsfargo.com> Message-ID: <004d01c78e8a$a4b7abc0$657aa8c0@m6805> LOL, aren't you glad I warned you? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 4:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] When to Use a Junction Table Most of your gloomy prognostications have come true already this afternoon--they 'discovered' that there are really 8 groups! Fortunately without malice. Thanks, Liz -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Friday, May 04, 2007 10:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] When to Use a Junction Table "There will never be another (your choice of objects here" means that there absolutely will be another such object. When that new object will come into existence is dependent on your choice of implementation. If you choose the right way, you will never even know that the new object came along because someone will just add it to the table and you will be blissfully unaware that it even happened. That may be tomorrow or 5 years from now. If you choose the lazy way, the object will pop into existence several months after you have finished all coding on this part of the project and have forgotten all details of how you did it. Furthermore, you will be embedded deeply in the next "Rush, gotta have it yesterday" project. Furthermore, the new object will be critical to the very existence of the institution. And finally, you will be upbraided caustically and with truckloads of malice for your short sightedness for not preparing for this eventuality, which EVERYONE KNOWS (except YOU apparently!!!) was bound to happen. You might even be short tracked to the dump heap of the incompetents who will never advance in the company because of their obvious shortcomings. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 10:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Fri May 4 15:35:38 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 04 May 2007 13:35:38 -0700 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: <0JHB006MNTMD9X70@l-daemon> <006b01c78b68$04a684f0$657aa8c0@m6805> <007501c78b6f$8bb4a150$657aa8c0@m6805> <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <463B991A.8020600@shaw.ca> I would like to see code too. There are many possible errors. How accurate do you want to be. Third order surveying accuarcy? Generally lat/long with 3 decimal places accuracy gives you 100 metre error lat/long with 4 decimal places gives 10 metre error Other errors. The shape of the Earth more closely resembles a flattened spheroid with extreme values for the radius of curvature, or arcradius, of 6335.437 km at the equator (vertically) and 6399.592 km at the poles and having an average great-circle radius of 6372.795 km (3438.461 nautical miles). Using a sphere with a radius of 6372.795 km thus results in a probable error of up to about 0.5%. Examples: This is a circle on the surface of the planet. At larger radii, the effects of the Mercator projection become clearly visible. Try a 2000 mile radius and move mouse to see if point within a circle or is it an egg? http://maps.forum.nu/gm_sensitive_circle2.html This circle is actually tangent to the surface of the Earth, but for small radii this is of little significance. http://maps.forum.nu/gm_clickable_circle.html Borge Hansen wrote: >>John Colby wrote: >>I converted the code to find the population within a radius of a zip code. >> >> > >Hi John, >What does your VBA code look like? > >I am using a code that will find a subset of records based on their geocode within a near enough square, > >...and querying the recordset like this > >....find me all record instances where Lat of record is between "northernmost Lat" and "southernmost Lat" and Long of record is >between "most western Long" and "most eastern Long" > >Interested to see your code based on a circle construct..... > >Regards >borge > > > -- Marty Connelly Victoria, B.C. Canada From DWUTKA at Marlow.com Fri May 4 15:39:31 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Fri, 4 May 2007 15:39:31 -0500 Subject: [AccessD] When to Use a Junction Table In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A0165208B@msgswbmnmsp04.wellsfargo.com> Message-ID: Stick to the right way. You are dealing with a many to many situation. There really isn't a lazy way, because putting a checkbox field in for group identification would be the un-normalized way. By having the fields as yes/no, you make things harder in many situations. For example, what if they want a list of groups on a form. With check boxes, you'll be making that list manually. Etc, etc. Not too mention, NEVER trust the users/owners. Everyone lies (just listen to House). Always develop to have as much wiggle room as possible. ;) Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Friday, May 04, 2007 9:36 AM To: accessd at databaseadvisors.com Subject: [AccessD] When to Use a Junction Table Hullo Gurus! I'm trying to decide if I am just lazy since it is Friday. Or if this will come around later to haunt me ..... A bank has a call center for handling people who have questions about their credit cards. Call center workers are divided into groups which have slightly different permissions to give certain kinds of credits. The list of groups is very limited--three groups--and the list of credits is pretty limited as well, perhaps 35. The right way to structure tables so that I can look up to see if a certain user in a certain group has a certain permission is absolutely to have a table Credit and another table Group and a junction table Permission with foreign keys CreditID and GroupID (and a primary key of PermissionID.) The lazy way causes me less grief in the short term: I make one table Credit, with three additional true/false fields for the three Groups. This way, I spent less time today documenting tables and sprocs to make officialdom happy. In the long run however, I have more grief if a new Group is added. Of course, everyone swears there will never be a new Group. In all of your combined experience, does "there will never be a new Group" mean, "there will be a new Group next week" or "there will be a new Group, but not for years and years" ? How would you structure this? Thanks, Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From shamil at users.mns.ru Fri May 4 16:37:14 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 5 May 2007 01:37:14 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a Junction Table Message-ID: <000001c78e94$66ae2020$6401a8c0@nant> Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From stuart at lexacorp.com.pg Fri May 4 17:38:59 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 05 May 2007 08:38:59 +1000 Subject: [AccessD] code to find the population within a radius of a zip code In-Reply-To: <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> References: , <009b01c78e5f$9582e7d0$fa10a8c0@Albatross> Message-ID: <463BB603.9343.4D8E5818@stuart.lexacorp.com.pg> On 5 May 2007 at 1:19, Borge Hansen wrote: > I am using a code that will find a subset of records based on their geocode > within a near enough square, > > ...and querying the recordset like this > > ....find me all record instances where Lat of record is between > "northernmost Lat" and "southernmost Lat" and Long of record is between > "most western Long" and "most eastern Long" > > Interested to see your code based on a circle construct..... Try this for size: Function arcsin(X As Double) As Double arcsin = Atn(X / Sqr(-X * X + 1)) End Function Function KmDistance(Lat1 As Double, Lon1 As Double, Lat2 As Double, Lon2 As Double) As Double Lat1 = Lat1 * 0.01745329252 'Convert Degrees to Radians Lon1 = Lon1 * 0.01745329252 Lat2 = Lat2 * 0.01745329252 Lon2 = Lon2 * 0.01745329252 KmDistance = arcsin(Sqr(Sin((Lat1 - Lat2) / 2) ^ 2 + Cos(Lat1) * Cos(Lat2) * Sin((Lon1 - Lon2) / 2) ^ 2)) * 12733.414 End Function Static Function LatStore(Optional Lat as Double = 999) as Double Dim Store as Double If Lat <> 999 then Store = Lat LatStore = Store End Function Static Function LonStore(Optional Lon as Double = 999) as Double Dim Store as Double If Lon <> 999 then Store = Lon LonStore = Store End Function Find all locations within 500km of My House: LatStore DLookup("Lat","TblLocations","Loc Name = 'My House") LonStore DLookup("Lon","TblLocations","Loc Name = 'My House") Select * from tblLocations where KMDistance(Lat,Lon,LatStore(),LonStore()) < 500 -- Stuart From max.wanadoo at gmail.com Sat May 5 01:22:10 2007 From: max.wanadoo at gmail.com (Max Wanadoo) Date: Sat, 5 May 2007 07:22:10 +0100 Subject: [AccessD] Access KeyCodes In-Reply-To: References: Message-ID: Dear All, Many thanks for your suggestions. Andrew Curtis' suggestion worked a dream. After turning the forms ONPREVIEW on, I was then able to capture the KEYCODE and eliminate 240 lines of unnecessary code. Thanks Andrew. Regards Max On 5/4/07, Curtis, Andrew (WAPL) wrote: > > > How about using the form's keydown event, write the keycode to a hidden > control on the form (hdenKeyCode) when a key is pressed anywhere on the > form, then use the onUpdate of the hdenKeyCode control to trigger your > pfKeyPress(Keycode) function using pfKeyPress(forms!myform!hdenKeyCode)? > I know its Friday here, give me a break :) > > > --andrew > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo > Sent: Friday, 4 May 2007 3:25 PM > To: Access Developers discussion and problem solving > Subject: [AccessD] Access KeyCodes > > Dear All, > In the ONKEYDOWN Event of a control on my form when using Event > Procedures I get the following code created:- > > Private Sub R1C1_KeyDown(Keycode As Integer, Shift As Integer) > Call pfKeyPress(Keycode) ' I then add in my function to call to handle > the key pressed by user End Sub > > However, I have 81 such controls in a 9x9 grid and the above code is > repeated 81 times and I would like to remove all this > > and replace them all with a direct call to a function, for example if I > wanted to call my own procedure to handle form events I > > normally use the following format in the ONEVENT that I was interested > in, eg ONENTER:- > > =pfSetStartPoint(Form) 'in here would be my code to handle the control > that had, in this example, been entered. > > > Access understands and passes the value of (Form) which is the name of > the current form. This means there is no code on > > the form event and all code can sit in a public procedure which can be > used by any form that calls it. > > My problem is that if I use the format =pfKeyCode(KeyCode) to replace > the ONKEYDOWN Event it complains that it does not > > contain the automation value of KeyCode. It DOES understand (Form) but > not (KeyCode). > Does anyone know how to get the value of KeyCode? > > Thanks > Max > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > This message and any attached files may contain information that is > confidential and/or subject of legal privilege intended only for use by the > intended recipient. If you are not the intended recipient or the person > responsible for delivering the message to the intended recipient, be advised > that you have received this message in error and that any dissemination, > copying or use of this message or attachment is strictly forbidden, as is > the disclosure of the information therein. If you have received this message > in error please notify the sender immediately and delete the message. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Sat May 5 05:54:17 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sat, 5 May 2007 06:54:17 -0400 Subject: [AccessD] code to find the population within a radius of a zipcode References: <0JHB006MNTMD9X70@l-daemon> <006b01c78b68$04a684f0$657aa8c0@m6805><007501c78b6f$8bb4a150$657aa8c0@m6805><009b01c78e5f$9582e7d0$fa10a8c0@Albatross> <463B991A.8020600@shaw.ca> Message-ID: <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> ...when you are using zip based lat-longs to calculate radius, the concept of "accuracy" is about as relevant as nasal drip regardless of which algorithms you use ...a zip based lat-long is the geo center of the zip code's mapped area ...since zip areas are highly irregular the given geo center may well be physically outside the zip's actual boundaries ...and then there is the problem of zip area geographical size which is most often based upon demographics ...ergo, the size of an Alaskan zip code can be several hundred miles in extent while that of a Manhattan zip may be resolved to a few floors in a single office tower ...thus search results for zips within a fifty mile radius of a given zip's lat-long should be considered with the same levity reserved for JC's stick poking efforts ...the calculation of the number of bubbles per poke being about as accurate. William Hindman ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Friday, May 04, 2007 4:35 PM Subject: Re: [AccessD] code to find the population within a radius of a zipcode >I would like to see code too. There are many possible errors. > > How accurate do you want to be. Third order surveying accuarcy? > Generally > lat/long with 3 decimal places accuracy gives you 100 metre error > lat/long with 4 decimal places gives 10 metre error > > Other errors. > > The shape of the Earth more closely resembles a flattened spheroid > with extreme values for the radius of curvature, or arcradius, of > 6335.437 km > at the equator (vertically) and 6399.592 km at the poles > and having an average great-circle radius of 6372.795 km (3438.461 > nautical miles). > > Using a sphere with a radius of 6372.795 km thus results in > a probable error of up to about 0.5%. > > Examples: > > This is a circle on the surface of the planet. At larger radii, > the effects of the Mercator projection become clearly visible. > Try a 2000 mile radius and move mouse to see if point within a circle > or is it an egg? > > http://maps.forum.nu/gm_sensitive_circle2.html > > This circle is actually tangent to the surface of the Earth, > but for small radii this is of little significance. > > http://maps.forum.nu/gm_clickable_circle.html > > > > Borge Hansen wrote: > >>>John Colby wrote: >>>I converted the code to find the population within a radius of a zip >>>code. >>> >>> >> >>Hi John, >>What does your VBA code look like? >> >>I am using a code that will find a subset of records based on their >>geocode within a near enough square, >> >>...and querying the recordset like this >> >>....find me all record instances where Lat of record is between >>"northernmost Lat" and "southernmost Lat" and Long of record is >>between "most western Long" and "most eastern Long" >> >>Interested to see your code based on a circle construct..... >> >>Regards >>borge >> >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > 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 May 5 06:46:00 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 05 May 2007 21:46:00 +1000 Subject: [AccessD] code to find the population within a radius of a zipcode In-Reply-To: <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> References: , <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> Message-ID: <463C6E78.22786.505EE15F@stuart.lexacorp.com.pg> A nice tool if you want to build your own database of lat/long of towns/cities is Geomaker: GeoMaker - Create the GeoDatabase for the entire world. This program create the geographical location Latitude, Longitude, and Altitude (Elevation) for every city, village, region, state, county in the World. The program crawls the data from the website www.heavens-above.com which collect data from US Geological Survey for the USA (and dependencies) and The National Imaging and Mapping Agency for all other countries. The program is available as .exe and the source code in Visual Basic 6 http://geomaker.mewsoft.qarchive.org/ Note that it takes a looong time to grab all the locations in a country :-( It grabbed 22,000 records for PNG. After I dumped them into an Acess table and de-duped the names, I ended up with over 9000 locations - many of them small villages/hamlets including 27 localities/suburbs within the National Capital District. On 5 May 2007 at 6:54, William Hindman wrote: > ...when you are using zip based lat-longs to calculate radius, the concept > of "accuracy" is about as relevant as nasal drip regardless of which > algorithms you use ...a zip based lat-long is the geo center of the zip > code's mapped area ...since zip areas are highly irregular the given geo > center may well be physically outside the zip's actual boundaries ...and > then there is the problem of zip area geographical size which is most often > based upon demographics ...ergo, the size of an Alaskan zip code can be > several hundred miles in extent while that of a Manhattan zip may be > resolved to a few floors in a single office tower ...thus search results for > zips within a fifty mile radius of a given zip's lat-long should be > considered with the same levity reserved for JC's stick poking efforts > ...the calculation of the number of bubbles per poke being about as > accurate. > > William Hindman > > ----- Original Message ----- > From: "MartyConnelly" > To: "Access Developers discussion and problem solving" > > Sent: Friday, May 04, 2007 4:35 PM > Subject: Re: [AccessD] code to find the population within a radius of a > zipcode > > > >I would like to see code too. There are many possible errors. > > > > How accurate do you want to be. Third order surveying accuarcy? > > Generally > > lat/long with 3 decimal places accuracy gives you 100 metre error > > lat/long with 4 decimal places gives 10 metre error > > > > Other errors. > > > > The shape of the Earth more closely resembles a flattened spheroid > > with extreme values for the radius of curvature, or arcradius, of > > 6335.437 km > > at the equator (vertically) and 6399.592 km at the poles > > and having an average great-circle radius of 6372.795 km (3438.461 > > nautical miles). > > > > Using a sphere with a radius of 6372.795 km thus results in > > a probable error of up to about 0.5%. > > > > Examples: > > > > This is a circle on the surface of the planet. At larger radii, > > the effects of the Mercator projection become clearly visible. > > Try a 2000 mile radius and move mouse to see if point within a circle or > > is it an egg? > > > > http://maps.forum.nu/gm_sensitive_circle2.html > > > > This circle is actually tangent to the surface of the Earth, > > but for small radii this is of little significance. > > > > http://maps.forum.nu/gm_clickable_circle.html > > > > > > > > Borge Hansen wrote: > > > >>>John Colby wrote: > >>>I converted the code to find the population within a radius of a zip > >>>code. > >>> > >>> > >> > >>Hi John, > >>What does your VBA code look like? > >> > >>I am using a code that will find a subset of records based on their > >>geocode within a near enough square, > >> > >>...and querying the recordset like this > >> > >>....find me all record instances where Lat of record is between > >>"northernmost Lat" and "southernmost Lat" and Long of record is > >>between "most western Long" and "most eastern Long" > >> > >>Interested to see your code based on a circle construct..... > >> > >>Regards > >>borge > >> > >> > >> > > > > -- > > Marty Connelly > > Victoria, B.C. > > Canada > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From bbruen at unwired.com.au Sat May 5 07:05:56 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Sat, 5 May 2007 22:05:56 +1000 Subject: [AccessD] python - getting started Message-ID: <200705052205.57517.bbruen@unwired.com.au> hi all, someone mentioned python a few minutes ago, ?arthur? whoever it was, have they got a link for a decent howto or getting started? I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data has already been ported to postgresql and after some hysteria is now ANSI compliant. The FE exists in access and has been partially ported to C#, but I'm not really happy with the C# implementation. The data abstraction is a PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat slack from a perception basis (i.e. perceptively slower than access-postgres and bordering on infuriatingly slower than access FE/BE architecture) and the IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned elsewhere they all want to / support direct data binding. I have read some (i.e. 1-2%) of the available info on python and it looks pretty rich, but is there something between HelloWorld and pyQt? -- regards Bruce From fuller.artful at gmail.com Sat May 5 08:02:41 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 5 May 2007 09:02:41 -0400 Subject: [AccessD] python - getting started In-Reply-To: <200705052205.57517.bbruen@unwired.com.au> References: <200705052205.57517.bbruen@unwired.com.au> Message-ID: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> Guilty, your honour. There's a version of Python that runs on .NET, but before suggesting that you go there, the first thing I would do in your place is satisfy yourself that it's not PostGres that is responsible for your performance problems. What happens performance-wise if you create an Access FE and an ODBC link and do direct queries against the database? How is performance there? Arthur On 5/5/07, Bruce Bruen wrote: > > hi all, > someone mentioned python a few minutes ago, ?arthur? > > whoever it was, have they got a link for a decent howto or getting > started? > > I'm looking to port an A2K3 to (ahem) a more "significant" platform. The > data > has already been ported to postgresql and after some hysteria is now ANSI > compliant. The FE exists in access and has been partially ported to C#, > but > I'm not really happy with the C# implementation. The data abstraction is > a > PITA (waiting hopefully on Charlottes tutorial), the performance is > somewhat > slack from a perception basis (i.e. perceptively slower than > access-postgres > and bordering on infuriatingly slower than access FE/BE architecture) and > the > IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned > elsewhere they all want to / support direct data binding. > > I have read some (i.e. 1-2%) of the available info on python and it looks > pretty rich, but is there something between HelloWorld and pyQt? > > -- > regards > > Bruce > From wdhindman at dejpolsystems.com Sat May 5 08:05:03 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sat, 5 May 2007 09:05:03 -0400 Subject: [AccessD] code to find the population within a radius of azipcode References: , <008601c78f03$bac38c80$7d7d6c4c@jisshowsbs.local> <463C6E78.22786.505EE15F@stuart.lexacorp.com.pg> Message-ID: <000501c78f15$ffba40b0$7d7d6c4c@jisshowsbs.local> ...good link Stu ...I can put that to immediate use with a current client ...thanks. William Hindman ----- Original Message ----- From: "Stuart McLachlan" To: "Access Developers discussion and problem solving" Sent: Saturday, May 05, 2007 7:46 AM Subject: Re: [AccessD] code to find the population within a radius of azipcode >A nice tool if you want to build your own database of lat/long of > towns/cities is Geomaker: > GeoMaker - Create the GeoDatabase for the entire world. This program > create > the geographical location Latitude, Longitude, and Altitude (Elevation) > for > every city, village, region, state, county in the World. The program > crawls > the data from the website www.heavens-above.com which collect data from US > Geological Survey for the USA (and dependencies) and The National Imaging > and Mapping Agency for all other countries. The program is available as > .exe and the source code in Visual Basic 6 > > http://geomaker.mewsoft.qarchive.org/ > > Note that it takes a looong time to grab all the locations in a country > :-( > > It grabbed 22,000 records for PNG. After I dumped them into an Acess table > and de-duped the names, I ended up with over 9000 locations - many of > them > small villages/hamlets including 27 localities/suburbs within the National > Capital District. > > > On 5 May 2007 at 6:54, William Hindman wrote: > >> ...when you are using zip based lat-longs to calculate radius, the >> concept >> of "accuracy" is about as relevant as nasal drip regardless of which >> algorithms you use ...a zip based lat-long is the geo center of the zip >> code's mapped area ...since zip areas are highly irregular the given geo >> center may well be physically outside the zip's actual boundaries ...and >> then there is the problem of zip area geographical size which is most >> often >> based upon demographics ...ergo, the size of an Alaskan zip code can be >> several hundred miles in extent while that of a Manhattan zip may be >> resolved to a few floors in a single office tower ...thus search results >> for >> zips within a fifty mile radius of a given zip's lat-long should be >> considered with the same levity reserved for JC's stick poking efforts >> ...the calculation of the number of bubbles per poke being about as >> accurate. >> >> William Hindman >> >> ----- Original Message ----- >> From: "MartyConnelly" >> To: "Access Developers discussion and problem solving" >> >> Sent: Friday, May 04, 2007 4:35 PM >> Subject: Re: [AccessD] code to find the population within a radius of a >> zipcode >> >> >> >I would like to see code too. There are many possible errors. >> > >> > How accurate do you want to be. Third order surveying accuarcy? >> > Generally >> > lat/long with 3 decimal places accuracy gives you 100 metre error >> > lat/long with 4 decimal places gives 10 metre error >> > >> > Other errors. >> > >> > The shape of the Earth more closely resembles a flattened spheroid >> > with extreme values for the radius of curvature, or arcradius, of >> > 6335.437 km >> > at the equator (vertically) and 6399.592 km at the poles >> > and having an average great-circle radius of 6372.795 km (3438.461 >> > nautical miles). >> > >> > Using a sphere with a radius of 6372.795 km thus results in >> > a probable error of up to about 0.5%. >> > >> > Examples: >> > >> > This is a circle on the surface of the planet. At larger radii, >> > the effects of the Mercator projection become clearly visible. >> > Try a 2000 mile radius and move mouse to see if point within a circle >> > or >> > is it an egg? >> > >> > http://maps.forum.nu/gm_sensitive_circle2.html >> > >> > This circle is actually tangent to the surface of the Earth, >> > but for small radii this is of little significance. >> > >> > http://maps.forum.nu/gm_clickable_circle.html >> > >> > >> > >> > Borge Hansen wrote: >> > >> >>>John Colby wrote: >> >>>I converted the code to find the population within a radius of a zip >> >>>code. >> >>> >> >>> >> >> >> >>Hi John, >> >>What does your VBA code look like? >> >> >> >>I am using a code that will find a subset of records based on their >> >>geocode within a near enough square, >> >> >> >>...and querying the recordset like this >> >> >> >>....find me all record instances where Lat of record is between >> >>"northernmost Lat" and "southernmost Lat" and Long of record is >> >>between "most western Long" and "most eastern Long" >> >> >> >>Interested to see your code based on a circle construct..... >> >> >> >>Regards >> >>borge >> >> >> >> >> >> >> > >> > -- >> > Marty Connelly >> > Victoria, B.C. >> > Canada >> > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/accessd >> > Website: http://www.databaseadvisors.com >> > >> >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com > > -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From kismert at gmail.com Sat May 5 10:10:37 2007 From: kismert at gmail.com (Ken Ismert) Date: Sat, 05 May 2007 10:10:37 -0500 Subject: [AccessD] python - getting started In-Reply-To: References: Message-ID: <463C9E6D.9050804@gmail.com> Bruce, One of the quickest ways to jump-start learning a new language is to attend a Meetup group. Right now, there are none in Australia, but there are a number of people interested in most of the major cities. See http://python.meetup.com/about/ If it is feasible for you, and you're interested, starting a Meetup group could be a good way to help yourself and others learn Python. There is nothing like asking questions of real people to get quick, solid starting information. Plus, you can have a few beers while doing it :-) Here are some good web resources: Dive Into Python http://diveintopython.org/ A Byte of Python http://swaroopch.info/text/Byte_of_Python:Main_Page -Ken >> >> ------------------------------------------------------------------------ >> >> Subject: >> [AccessD] python - getting started >> From: >> Bruce Bruen >> Date: >> Sat, 5 May 2007 22:05:56 +1000 >> >> >> hi all, >> someone mentioned python a few minutes ago, ?arthur? >> >> whoever it was, have they got a link for a decent howto or getting started? >> >> I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data >> has already been ported to postgresql and after some hysteria is now ANSI >> compliant. The FE exists in access and has been partially ported to C#, but >> I'm not really happy with the C# implementation. The data abstraction is a >> PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat >> slack from a perception basis (i.e. perceptively slower than access-postgres >> and bordering on infuriatingly slower than access FE/BE architecture) and the >> IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned >> elsewhere they all want to / support direct data binding. >> >> I have read some (i.e. 1-2%) of the available info on python and it looks >> pretty rich, but is there something between HelloWorld and pyQt? >> From accessd at shaw.ca Sat May 5 17:37:12 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 05 May 2007 15:37:12 -0700 Subject: [AccessD] python - getting started In-Reply-To: <463C9E6D.9050804@gmail.com> Message-ID: <0JHL00BGRAN5QEC0@l-daemon> In addition, I understand that our own Bryan Carbonnell is a bit of expert... our mail server was built in Python. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Saturday, May 05, 2007 8:11 AM To: accessd at databaseadvisors.com Subject: [AccessD] python - getting started Bruce, One of the quickest ways to jump-start learning a new language is to attend a Meetup group. Right now, there are none in Australia, but there are a number of people interested in most of the major cities. See http://python.meetup.com/about/ If it is feasible for you, and you're interested, starting a Meetup group could be a good way to help yourself and others learn Python. There is nothing like asking questions of real people to get quick, solid starting information. Plus, you can have a few beers while doing it :-) Here are some good web resources: Dive Into Python http://diveintopython.org/ A Byte of Python http://swaroopch.info/text/Byte_of_Python:Main_Page -Ken >> >> ------------------------------------------------------------------------ >> >> Subject: >> [AccessD] python - getting started >> From: >> Bruce Bruen >> Date: >> Sat, 5 May 2007 22:05:56 +1000 >> >> >> hi all, >> someone mentioned python a few minutes ago, ?arthur? >> >> whoever it was, have they got a link for a decent howto or getting started? >> >> I'm looking to port an A2K3 to (ahem) a more "significant" platform. The data >> has already been ported to postgresql and after some hysteria is now ANSI >> compliant. The FE exists in access and has been partially ported to C#, but >> I'm not really happy with the C# implementation. The data abstraction is a >> PITA (waiting hopefully on Charlottes tutorial), the performance is somewhat >> slack from a perception basis (i.e. perceptively slower than access-postgres >> and bordering on infuriatingly slower than access FE/BE architecture) and the >> IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned >> elsewhere they all want to / support direct data binding. >> >> I have read some (i.e. 1-2%) of the available info on python and it looks >> pretty rich, but is there something between HelloWorld and pyQt? >> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Sat May 5 17:37:12 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 05 May 2007 15:37:12 -0700 Subject: [AccessD] python - getting started In-Reply-To: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> Message-ID: <0JHL00BGTAN6QEC0@l-daemon> On that note; I have been told that running an Access FE to Postgres using pass-through through queries is painful... It was further suggested that all database SQL should be run through PGs' SPs. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 05, 2007 6:03 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] python - getting started Guilty, your honour. There's a version of Python that runs on .NET, but before suggesting that you go there, the first thing I would do in your place is satisfy yourself that it's not PostGres that is responsible for your performance problems. What happens performance-wise if you create an Access FE and an ODBC link and do direct queries against the database? How is performance there? Arthur On 5/5/07, Bruce Bruen wrote: > > hi all, > someone mentioned python a few minutes ago, ?arthur? > > whoever it was, have they got a link for a decent howto or getting > started? > > I'm looking to port an A2K3 to (ahem) a more "significant" platform. The > data > has already been ported to postgresql and after some hysteria is now ANSI > compliant. The FE exists in access and has been partially ported to C#, > but > I'm not really happy with the C# implementation. The data abstraction is > a > PITA (waiting hopefully on Charlottes tutorial), the performance is > somewhat > slack from a perception basis (i.e. perceptively slower than > access-postgres > and bordering on infuriatingly slower than access FE/BE architecture) and > the > IDE's are all a royal PITA (VB5, eclipse and #develop), as mentioned > elsewhere they all want to / support direct data binding. > > I have read some (i.e. 1-2%) of the available info on python and it looks > pretty rich, but is there something between HelloWorld and pyQt? > > -- > regards > > Bruce > -- 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 May 5 17:58:59 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 5 May 2007 18:58:59 -0400 Subject: [AccessD] python - getting started In-Reply-To: <0JHL00BGTAN6QEC0@l-daemon> References: <29f585dd0705050602t2c378d2er67d2958b08f1e52d@mail.gmail.com> <0JHL00BGTAN6QEC0@l-daemon> Message-ID: <29f585dd0705051558k60ac7051v75925ff98a8d62cc@mail.gmail.com> Yeah, that was kind of my point, which was to isolate the PostGres performance from all the additional layers. If we get to a place where the PostGres performance, as measured from a direct query from the command line, say, then we can realistically judge and rank the interfaces to the database. A. On 5/5/07, Jim Lawrence wrote: > > On that note; I have been told that running an Access FE to Postgres using > pass-through through queries is painful... It was further suggested that > all > database SQL should be run through PGs' SPs. > > Jim > From carbonnb at gmail.com Sat May 5 18:40:55 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sat, 5 May 2007 19:40:55 -0400 Subject: [AccessD] python - getting started In-Reply-To: <0JHL00BGRAN5QEC0@l-daemon> References: <463C9E6D.9050804@gmail.com> <0JHL00BGRAN5QEC0@l-daemon> Message-ID: On 5/5/07, Jim Lawrence wrote: > In addition, I understand that our own Bryan Carbonnell is a bit of > expert... our mail server was built in Python. Expert. ROTFLMAO. Hack, sure. Expert. Not even close. But I used the tutorial from Python's webiste, http://docs.python.org/tut/tut.html to learn how to write Python code. -- 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 gustav at cactus.dk Sun May 6 01:19:38 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sun, 06 May 2007 08:19:38 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a Junction Table Message-ID: Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav >>> shamil at users.mns.ru 04-05-07 23:37 >>> Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From shamil at users.mns.ru Sun May 6 05:07:53 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sun, 6 May 2007 14:07:53 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: Message-ID: <000001c78fc6$69640e50$6401a8c0@nant> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> From Gustav at cactus.dk Mon May 7 05:17:02 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 07 May 2007 12:17:02 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Message-ID: Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav From Gustav at cactus.dk Mon May 7 07:08:32 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 07 May 2007 14:08:32 +0200 Subject: [AccessD] Migrating Access applications to Oracle APEX Message-ID: Hi all Should you feel tempted to migrate your Access application to Oracle Application Express, a migration tool is available: http://www.oracle.com/technology/products/database/application_express/migrations/mig_index.html My guess is that only very simple apps can be handled. /gustav From jwcolby at colbyconsulting.com Mon May 7 09:05:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Mon, 7 May 2007 10:05:54 -0400 Subject: [AccessD] Thanks for the help Message-ID: <001a01c790b0$d43b04f0$657aa8c0@m6805> I am making great progress on understanding how to create stored procedures and getting them functioning. The piece I am still missing for my particular application is how to get them to run from Access. As you probably know by now I am trying to do batch processing of data import / export. Last week I was working on getting a 100 million record data import happening, where the data came in from 56 different files of various size, one or more files per state, depending on the population of the state. I got a stored procedure built and, using a Bulk Insert SQL statement was able to up my import from a previous high less than 500 records / second to up above 12K records / second on average. What an improvement that has been! Again a million thanks to all those who so patiently talked me through this stuff. In the end I simply opened a query window inside of SQL Server, and keyed in the name of the stored procedure and a file name, manually recorded the time it took SQL Server to perform the insert, modified the filename and did the next etc. 56 times and I was done. Not efficient but with the import times so radically improved at least I could get it done. My next step has to be getting such a stored procedure functioning when run from Access. ATM my application that does the data transformation from fixed width to csv is the driver for this entire process, and ATM it is written in Access / VBA. Remember that these stored procedures simply do a BULK INSERT, passing in a file name. therefore these stored procedures do not yet return a recordset (or even a value), but I really do need to get them to return a value eventually. My strategy is to "baby step" this thing so that I can sort out where the inevitable problem lies and get it functioning one step at a time. So my next step is simply to get the stored procedure executing when called from VBA. If anyone has code that they are willing to share that executes a stored procedure in SQL Server , passing in a parameter, executed from VBA out in Access I would be most appreciative. On another note entirely, does anyone know how to, in SQL, specify a specific quantity of records, from a specific place in a table, without depending on an autonumber PK to do it. IOW, I need to pull the first 2 million records, then the second 2 million records, then the third 2 million records etc. I will be exporting these out to a CSV file. The table has an autoincrement PK but some records have been deleted because their address was not deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and in fact I will use this approach if required. The problem is that the result set will not be 2 million records, but rather 2 million minus the deleted records in that range. I suppose I could create another autoincrement field so that I would have a field where the numbers are consecutive and then use the approach above, using that field. I am just trying to discover whether it is possible with SQL to do this without depending on an autoincrementing number field. Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com From DElam at jenkens.com Mon May 7 09:30:28 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Mon, 7 May 2007 09:30:28 -0500 Subject: [AccessD] Thanks for the help Message-ID: <573E90481C9F004C9E598D3A5A9DCDA001D261@jgexch1.jenkens.com> A pass through query can run a stored procedure from Access. Dev Ashish has a function on his website that will dynamically create a pass through query if you need to add parameters. Debbie -----Original Message----- From: JWColby [mailto:jwcolby at colbyconsulting.com] Sent: Monday, May 07, 2007 9:06 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Thanks for the help I am making great progress on understanding how to create stored procedures and getting them functioning. The piece I am still missing for my particular application is how to get them to run from Access. As you probably know by now I am trying to do batch processing of data import / export. Last week I was working on getting a 100 million record data import happening, where the data came in from 56 different files of various size, one or more files per state, depending on the population of the state. I got a stored procedure built and, using a Bulk Insert SQL statement was able to up my import from a previous high less than 500 records / second to up above 12K records / second on average. What an improvement that has been! Again a million thanks to all those who so patiently talked me through this stuff. In the end I simply opened a query window inside of SQL Server, and keyed in the name of the stored procedure and a file name, manually recorded the time it took SQL Server to perform the insert, modified the filename and did the next etc. 56 times and I was done. Not efficient but with the import times so radically improved at least I could get it done. My next step has to be getting such a stored procedure functioning when run from Access. ATM my application that does the data transformation from fixed width to csv is the driver for this entire process, and ATM it is written in Access / VBA. Remember that these stored procedures simply do a BULK INSERT, passing in a file name. therefore these stored procedures do not yet return a recordset (or even a value), but I really do need to get them to return a value eventually. My strategy is to "baby step" this thing so that I can sort out where the inevitable problem lies and get it functioning one step at a time. So my next step is simply to get the stored procedure executing when called from VBA. If anyone has code that they are willing to share that executes a stored procedure in SQL Server , passing in a parameter, executed from VBA out in Access I would be most appreciative. On another note entirely, does anyone know how to, in SQL, specify a specific quantity of records, from a specific place in a table, without depending on an autonumber PK to do it. IOW, I need to pull the first 2 million records, then the second 2 million records, then the third 2 million records etc. I will be exporting these out to a CSV file. The table has an autoincrement PK but some records have been deleted because their address was not deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and in fact I will use this approach if required. The problem is that the result set will not be 2 million records, but rather 2 million minus the deleted records in that range. I suppose I could create another autoincrement field so that I would have a field where the numbers are consecutive and then use the approach above, using that field. I am just trying to discover whether it is possible with SQL to do this without depending on an autoincrementing number field. Thanks, John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 7 09:57:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 7 May 2007 07:57:16 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78e94$66ae2020$6401a8c0@nant> References: <000001c78e94$66ae2020$6401a8c0@nant> Message-ID: I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Elizabeth.J.Doering at wellsfargo.com Mon May 7 10:21:38 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Mon, 7 May 2007 10:21:38 -0500 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable References: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A01652339@msgswbmnmsp04.wellsfargo.com> Thanks, Shamil and all, for the education. I will be reading up on INSTEAD OF triggers. This list is amazing! Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 5:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ebarro at verizon.net Mon May 7 10:34:16 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 08:34:16 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <0JHO00DY9GL44SDB@vms042.mailsrvcs.net> Shamil, I think that if you were to check with the original intent of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/791 - Release Date: 5/6/2007 9:07 AM From ebarro at verizon.net Mon May 7 10:35:55 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 08:35:55 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <000001c78fc6$69640e50$6401a8c0@nant> Message-ID: <0JHO00JYMGNUT2K3@vms048.mailsrvcs.net> Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 7 10:54:36 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 19:54:36 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: Message-ID: <000c01c790c0$0394ea40$6401a8c0@nant> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Mon May 7 11:18:51 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 09:18:51 -0700 Subject: [AccessD] Access and Linux Message-ID: <003901c790c3$6693e760$0501a8c0@HAL9005> Dear List: Can an access from end run under Linux? Can the back end run off of a Linux server? MTIA, Rocky From fuller.artful at gmail.com Mon May 7 11:33:16 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 7 May 2007 12:33:16 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <001a01c790b0$d43b04f0$657aa8c0@m6805> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> Message-ID: <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> 1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. 2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. In your Access app, if you know the parameters you want to feed the sproc, I would go with the first way. A simple EXEC (or EXECUTE if you're feeling verbose). Now, regarding the 2m row selection. This one is easy, unless I'm missing something. Just SELECT TOP 2 Million to start with. Create a sproc that expects a starting PK and defaults to zero or one. Make the sproc select the top two million rows whose pk is greater than the parameter you feed in. You could even declare a second parameter called @lastPK, defined as an OUTPUT parameter, so you get back the last PK in the 2M rows selected. Then you can use that value as the input next time you fire the sproc. I hope this helped. I might have inadvertently left out a step. If so, let me know. Arthur On 5/7/07, JWColby wrote: > > I am making great progress on understanding how to create stored > procedures > and getting them functioning. The piece I am still missing for my > particular application is how to get them to run from Access. As you > probably know by now I am trying to do batch processing of data import / > export. Last week I was working on getting a 100 million record data > import > happening, where the data came in from 56 different files of various size, > one or more files per state, depending on the population of the state. I > got a stored procedure built and, using a Bulk Insert SQL statement was > able > to up my import from a previous high less than 500 records / second to up > above 12K records / second on average. What an improvement that has been! > Again a million thanks to all those who so patiently talked me through > this > stuff. > > In the end I simply opened a query window inside of SQL Server, and keyed > in > the name of the stored procedure and a file name, manually recorded the > time > it took SQL Server to perform the insert, modified the filename and did > the > next etc. 56 times and I was done. Not efficient but with the import > times > so radically improved at least I could get it done. > > My next step has to be getting such a stored procedure functioning when > run > from Access. ATM my application that does the data transformation from > fixed width to csv is the driver for this entire process, and ATM it is > written in Access / VBA. Remember that these stored procedures simply do > a > BULK INSERT, passing in a file name. therefore these stored procedures do > not yet return a recordset (or even a value), but I really do need to get > them to return a value eventually. My strategy is to "baby step" this > thing > so that I can sort out where the inevitable problem lies and get it > functioning one step at a time. So my next step is simply to get the > stored > procedure executing when called from VBA. > > If anyone has code that they are willing to share that executes a stored > procedure in SQL Server , passing in a parameter, executed from VBA out in > Access I would be most appreciative. > > On another note entirely, does anyone know how to, in SQL, specify a > specific quantity of records, from a specific place in a table, without > depending on an autonumber PK to do it. > > IOW, I need to pull the first 2 million records, then the second 2 million > records, then the third 2 million records etc. I will be exporting these > out to a CSV file. The table has an autoincrement PK but some records > have > been deleted because their address was not deliverable. Thus I could > simply > say "WHERE PKID >0 and <=2,000,000" and for the next set say "WHERE PKID > > 2,000,000 and <=4,000,000" and in fact I will use this approach if > required. The problem is that the result set will not be 2 million > records, > but rather 2 million minus the deleted records in that range. > > I suppose I could create another autoincrement field so that I would have > a > field where the numbers are consecutive and then use the approach above, > using that field. I am just trying to discover whether it is possible > with > SQL to do this without depending on an autoincrementing number field. > > Thanks, > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: Message-ID: <001301c790c5$a8edc3e0$6401a8c0@nant> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 07, 2007 6:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <1C2084FD2472124AB1812A5476EA3B7A01652339@msgswbmnmsp04.wellsfargo.com> Message-ID: <001701c790c5$a96c42b0$6401a8c0@nant> My pleasure, Liz! :) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elizabeth.J.Doering at wellsfargo.com Sent: Monday, May 07, 2007 7:22 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Thanks, Shamil and all, for the education. I will be reading up on INSTEAD OF triggers. This list is amazing! Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 5:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Mon May 7 11:35:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 20:35:01 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable In-Reply-To: <0JHO00JYMGNUT2K3@vms048.mailsrvcs.net> Message-ID: <001801c790c5$abad3200$6401a8c0@nant> Hello Eric, I agree with you. And I'm not telling that technical excellence and good design should be sacrificed. I'd also note that technical excellence isn't an absolute term: therefore technical excellence could be a source of "religious debates", which I wanted to avoid here by all means. And I'd also note - as we can see nowadays, technical excellence is considered more as being "simple": simple in use, simple in support and extendibility, looking simple, minimalist, stylish. A "classic" example of such modern "simple technical excellence" is iPod. But as we all know to achieve that level of simplicity a lot of experience and hardwork and courage and talent are needed... <<< Some of the principles behind the Agile Manifesto are: >>> Would you like me to try to tell here how all these principles/goals are followed/achieved by using views and instead of triggers? (and as I noted earlier using views and instead of triggers may have some side effects, especially for large databases, making this approach a "no go" but then in many positions similar but not the same abstraction layer based on SPs should work for sure for large databases also). I must say that agile development practices are often sounding non-intuitive even paradoxical for many "traditional" developers... And as I wrote to Gustav - I'm not yet there - I'm far from being true "agilist" - therefore here I mainly share my current view on this development methodology and its practices - I'm not teaching it here, not at all - I'm trying to find here together with you and other AccessD members answers on some questions, which I cannot currently answer by myself... Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, May 07, 2007 7:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Sunday, May 06, 2007 3:08 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav <<< tail skipped >>> -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 krosenstiel at comcast.net Mon May 7 11:44:13 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Mon, 07 May 2007 16:44:13 +0000 Subject: [AccessD] Access and Linux Message-ID: <050720071644.24706.463F575D0002C040000060822212020784040A079B9C020A9C019D05@comcast.net> I think maybe it can, under WINE or some other Windows emulator. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Rocky Smolin at Beach Access Software" > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a Linux > server? > > MTIA, > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 7 11:46:24 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Mon, 7 May 2007 12:46:24 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> <29f585dd0705070933j668f96f9yeeaa17ee359202cf@mail.gmail.com> Message-ID: <004601c790c7$401c8110$657aa8c0@m6805> Arthur, Thanks for the reply. >1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. My FE is a regular MDB, running in Office 2003. It is not an ADP. I link using the ODBC Databases() "files of type" when setting up the linked tables. Understand that I do not know if that is even required (linked tables) since I am not directly updating the tables anyway. Remember that these are 100 million rec tables so I am not doing any of the table import / export from inside of Access, but rather through the sprocs. >2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. No ADPs here, nor am I attempting to view or update any of the information through a form. >You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. I think from what others are saying as well, that this is the route I will take. Thanks again for all assistance. I will prevail! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 07, 2007 12:33 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Thanks for the help 1. The first important thing for us to know is whether you're using an ADP or an MDB+ODBC link. That makes a big difference in what you can do from within Access, although it doesn't matter strictly from the point of view of firing a sproc. 2. There are several ways to execute a sproc, the simplest being "EXEC mysproc parm1 parm2 parm3". If you're using an ADP and creating a form whose data set comes from a sproc, then all you have to do is supply the name of the sproc as the record source. This, incidentally, even works if the sproc needs a parameter. You will find on the property sheet the place to put your parameters. You can also create a command object and then give it some parameter objects and then execute the command object. I tried this a few times and it works, but I got tired of typing all the lines required. In your Access app, if you know the parameters you want to feed the sproc, I would go with the first way. A simple EXEC (or EXECUTE if you're feeling verbose). Now, regarding the 2m row selection. This one is easy, unless I'm missing something. Just SELECT TOP 2 Million to start with. Create a sproc that expects a starting PK and defaults to zero or one. Make the sproc select the top two million rows whose pk is greater than the parameter you feed in. You could even declare a second parameter called @lastPK, defined as an OUTPUT parameter, so you get back the last PK in the 2M rows selected. Then you can use that value as the input next time you fire the sproc. I hope this helped. I might have inadvertently left out a step. If so, let me know. Arthur On 5/7/07, JWColby wrote: > > I am making great progress on understanding how to create stored > procedures and getting them functioning. The piece I am still missing > for my particular application is how to get them to run from Access. > As you probably know by now I am trying to do batch processing of data > import / export. Last week I was working on getting a 100 million > record data import happening, where the data came in from 56 different > files of various size, one or more files per state, depending on the > population of the state. I got a stored procedure built and, using a > Bulk Insert SQL statement was able to up my import from a previous > high less than 500 records / second to up above 12K records / second > on average. What an improvement that has been! > Again a million thanks to all those who so patiently talked me through > this stuff. > > In the end I simply opened a query window inside of SQL Server, and > keyed in the name of the stored procedure and a file name, manually > recorded the time it took SQL Server to perform the insert, modified > the filename and did the next etc. 56 times and I was done. Not > efficient but with the import times so radically improved at least I > could get it done. > > My next step has to be getting such a stored procedure functioning > when run from Access. ATM my application that does the data > transformation from fixed width to csv is the driver for this entire > process, and ATM it is written in Access / VBA. Remember that these > stored procedures simply do a BULK INSERT, passing in a file name. > therefore these stored procedures do not yet return a recordset (or > even a value), but I really do need to get them to return a value > eventually. My strategy is to "baby step" this thing so that I can > sort out where the inevitable problem lies and get it functioning one > step at a time. So my next step is simply to get the stored procedure > executing when called from VBA. > > If anyone has code that they are willing to share that executes a > stored procedure in SQL Server , passing in a parameter, executed from > VBA out in Access I would be most appreciative. > > On another note entirely, does anyone know how to, in SQL, specify a > specific quantity of records, from a specific place in a table, > without depending on an autonumber PK to do it. > > IOW, I need to pull the first 2 million records, then the second 2 > million records, then the third 2 million records etc. I will be > exporting these out to a CSV file. The table has an autoincrement PK > but some records have been deleted because their address was not > deliverable. Thus I could simply say "WHERE PKID >0 and <=2,000,000" > and for the next set say "WHERE PKID > 2,000,000 and <=4,000,000" and > in fact I will use this approach if required. The problem is that the > result set will not be 2 million records, but rather 2 million minus > the deleted records in that range. > > I suppose I could create another autoincrement field so that I would > have a field where the numbers are consecutive and then use the > approach above, using that field. I am just trying to discover > whether it is possible with SQL to do this without depending on an > autoincrementing number field. > > Thanks, > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 Mon May 7 11:47:37 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 7 May 2007 12:47:37 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <001301c790c5$a8edc3e0$6401a8c0@nant> References: <001301c790c5$a8edc3e0$6401a8c0@nant> Message-ID: <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. On 5/7/07, Shamil Salakhetdinov wrote: > > Charlotte, > > That would have been great if we have been able to develop a database > model, > a software functionality,... once then deliver it and then forget it... > > But "the only constant thing in the modern software development is the > constant change"... > > -- > Shamil > From carbonnb at gmail.com Mon May 7 12:11:30 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Mon, 7 May 2007 13:11:30 -0400 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: On 5/7/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a Linux > server? > > MTIA, Front end. Maybe. It'll have to be run with Wine or CrossOver Office Back End. Yes. All the processing is done on the local machine the BE is just a file on the network. All my DBs in use have the BE on Novell servers. -- 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 martyconnelly at shaw.ca Mon May 7 12:20:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 10:20:42 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <463F5FEA.5020506@shaw.ca> Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a Linux >server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Mon May 7 12:50:07 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 10:50:07 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> References: <001301c790c5$a8edc3e0$6401a8c0@nant> <29f585dd0705070947l69d13a64yd9b4bd9f230d7b1b@mail.gmail.com> Message-ID: <463F66CF.3050701@shaw.ca> No, maybe a quote attributed to Red Adair. "If you want the job done, I can do it fast, I can do it cheap, I can do it well. Pick two." At age 75, Adair took part in extinguishing the oil well fires in Kuwait set by retreating Iraqi troops after the Gulf War in 1991. John Wayne also played him in a movie about oil well fires in Algeria. Arthur Fuller wrote: >Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. > >On 5/7/07, Shamil Salakhetdinov wrote: > > >>Charlotte, >> >>That would have been great if we have been able to develop a database >>model, >>a software functionality,... once then deliver it and then forget it... >> >>But "the only constant thing in the modern software development is the >>constant change"... >> >>-- >>Shamil >> >> >> -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Mon May 7 13:02:25 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:02:25 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <050720071644.24706.463F575D0002C040000060822212020784040A079B9C020A9C019D05@comcast.net> Message-ID: <005e01c790d1$df576600$0501a8c0@HAL9005> Thanks. I'll check out WINE. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of krosenstiel at comcast.net Sent: Monday, May 07, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux I think maybe it can, under WINE or some other Windows emulator. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: "Rocky Smolin at Beach Access Software" > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a > Linux server? > > MTIA, > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From rockysmolin at bchacc.com Mon May 7 13:03:12 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:03:12 -0700 Subject: [AccessD] Access and Linux In-Reply-To: Message-ID: <005f01c790d1$fa73dbd0$0501a8c0@HAL9005> I'm going to set my FIL to check out WINE and Crossover. He's agot a Linux machine. Thanks Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Monday, May 07, 2007 10:12 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux On 5/7/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > Can an access from end run under Linux? Can the back end run off of a > Linux server? > > MTIA, Front end. Maybe. It'll have to be run with Wine or CrossOver Office Back End. Yes. All the processing is done on the local machine the BE is just a file on the network. All my DBs in use have the BE on Novell servers. -- 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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From rockysmolin at bchacc.com Mon May 7 13:03:57 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 11:03:57 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <463F5FEA.5020506@shaw.ca> Message-ID: <006001c790d2$15465050$0501a8c0@HAL9005> You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From ebarro at verizon.net Mon May 7 13:09:13 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 07 May 2007 11:09:13 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <006001c790d2$15465050$0501a8c0@HAL9005> Message-ID: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Yeah...put on your dancing shoes and do the Samba Rocky... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- From martyconnelly at shaw.ca Mon May 7 13:29:18 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 07 May 2007 11:29:18 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> References: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Message-ID: <463F6FFE.5030602@shaw.ca> http://us3.samba.org/samba/ Eric Barro wrote: >Yeah...put on your dancing shoes and do the Samba Rocky... > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at >Beach Access Software >Sent: Monday, May 07, 2007 11:04 AM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Access and Linux > >You need Samba? > >Rocky > > > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Monday, May 07, 2007 10:21 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] Access and Linux > >Access backends will work with Linux running Samba Access web based backends >will run with Samba and ChiliSoft ChiliSoft may have been sold or the name >changed to protect the guilty. > >Access Frontends may run with either Wine or Mono on Linux although which >higher version of Access, may run I don't know. >Access 97 should be okay. > > >Rocky Smolin at Beach Access Software wrote: > > > >>Dear List: >> >>Can an access from end run under Linux? Can the back end run off of a >>Linux server? >> >>MTIA, >> >>Rocky >> >> >> >> >> >> >> >> >> >> > >-- >Marty Connelly >Victoria, B.C. >Canada > >-- > > > > > -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Mon May 7 14:03:02 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 07 May 2007 12:03:02 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <0JHO00164Q1YWKA6@l-daemon> Hi Rocky: There are a few of ways of going about this. 1. Using a product like 'Wine' which will allow a Linux user to run a Windows application through a Window. See http://itrain.org/itinfo/2001/it010530.html for some information on it. 2. This is my favourite. Create a virtual PC on the Linux/Mac OS and run the application through a virtual Window. There are free and open-source versions of the described products but their features are limited but that may be all that is needed. Here is a link to a comparison article on the for sale products: http://www.google.ca/search?hl=en&q=linux+virtual+PC&meta= The virtual PC could to setup to auto-start an application. The real beauty is that the completed VPC is just a file and can to copied anywhere and can be run from any computer as it is a self-contained world. 3. The ultimate way is to re-write the app in the Sun Linux Office package which is also the most complex way. 4. The final solution would be to migrate the product to web based application using ASP.Net/ASP, PHP, etc. This would be a long-range goal but definitely worth consideration as there are more pluses than downsides. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Access and Linux Dear List: Can an access from end run under Linux? Can the back end run off of a Linux server? MTIA, Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Mon May 7 14:16:28 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 07 May 2007 12:16:28 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <006001c790d2$15465050$0501a8c0@HAL9005> Message-ID: <0JHO00BE0QOB1F40@l-daemon> Hi Rocky: Samba is the connection protocol manager that allows a Linux user to fully access all the Windows Server/PCs and printers and usually installs currently on all Linux desktop distributions unless specified otherwise (as default). It generally sets it self up automatically but if manual intervention is required it can be a pain as Windows network protocols standards tend to be a moving target. You probably do not have to worry about this though as a backend on a Windows box will just require appropriate credentials, username and password to allow access and that is all. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 7 14:14:30 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 7 May 2007 23:14:30 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable In-Reply-To: <463F66CF.3050701@shaw.ca> Message-ID: <000901c790db$f0c94bb0$6401a8c0@nant> Hello Marthy and Arthur, Well, I understand your irony and skepticism.... Still. Believe me or not - we're talking about different things... Elron Hubbard - creator of Dianetics? No, I'm not going to quote him... "...pick any too..." is not applicable in the context I'm talking about... I'm collecting real life projects information on the subject here. I hope I will write about it here in the coming days... Your turn now, but forget your irony please :) Till then, Thank you, Yours.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 9:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable No, maybe a quote attributed to Red Adair. "If you want the job done, I can do it fast, I can do it cheap, I can do it well. Pick two." At age 75, Adair took part in extinguishing the oil well fires in Kuwait set by retreating Iraqi troops after the Gulf War in 1991. John Wayne also played him in a movie about oil well fires in Algeria. Arthur Fuller wrote: >Next thing you'll be quoting Werner Eberhard or Elron Hubbard. LOL. > >On 5/7/07, Shamil Salakhetdinov wrote: > > >>Charlotte, >> >>That would have been great if we have been able to develop a database >>model, >>a software functionality,... once then deliver it and then forget it... >> >>But "the only constant thing in the modern software development is the >>constant change"... >> >>-- >>Shamil >> >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Mon May 7 15:04:44 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 7 May 2007 13:04:44 -0700 Subject: [AccessD] Access and Linux In-Reply-To: <0JHO00MV7NRDKXVJ@vms046.mailsrvcs.net> Message-ID: <008201c790e2$f4e5d4a0$0501a8c0@HAL9005> Not a pretty picture... Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Monday, May 07, 2007 11:09 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux Yeah...put on your dancing shoes and do the Samba Rocky... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Monday, May 07, 2007 11:04 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access and Linux You need Samba? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 07, 2007 10:21 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access and Linux Access backends will work with Linux running Samba Access web based backends will run with Samba and ChiliSoft ChiliSoft may have been sold or the name changed to protect the guilty. Access Frontends may run with either Wine or Mono on Linux although which higher version of Access, may run I don't know. Access 97 should be okay. Rocky Smolin at Beach Access Software wrote: > >Dear List: > >Can an access from end run under Linux? Can the back end run off of a >Linux server? > >MTIA, > >Rocky > > > > > > > > -- Marty Connelly Victoria, B.C. Canada -- -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/792 - Release Date: 5/6/2007 9:01 PM From markamatte at hotmail.com Mon May 7 15:10:58 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:10:58 +0000 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: <000901c790db$f0c94bb0$6401a8c0@nant> Message-ID: Hello All, In A97 I need to have a window pop up so the user can select the folder and file name where I want to create something. I don't want it to save anything at that point...I just want the path they picked. Any suggestions? Thanks, Mark A. Matte _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline From jimdettman at verizon.net Mon May 7 15:33:25 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Mon, 07 May 2007 16:33:25 -0400 Subject: [AccessD] Thanks for the help In-Reply-To: <001a01c790b0$d43b04f0$657aa8c0@m6805> References: <001a01c790b0$d43b04f0$657aa8c0@m6805> Message-ID: <001f01c790e6$f72d7de0$8abea8c0@XPS> John, <> Below is a ADO and a DAO sample of calling of a stored proc. Also a little function I've found that helps tremendously in figuring out exactly what a SP is looking for from the Access point of view. Jim. Function GetSecurityGroupsADO() As String ' Returns a string of the security groups to which the current user belongs. ' ADO Version for use with custom apps. Const RoutineName = "GetSecurityGroupsADO" Const Version = "1.0" Dim strConnect As String Dim cnn As ADODB.Connection Dim cmd As ADODB.Command Dim prm As ADODB.Parameter On Error GoTo GetSecurityGroupsADO_Error Set cnn = New ADODB.Connection cnn.Open "DSN=SYS" Set cmd = New ADODB.Command cmd.ActiveConnection = cnn cmd.CommandText = "trvSp_CurrentGroup" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("GroupID", adVarChar, adParamOutput, 1000) cmd.Parameters.Append prm cmd.Execute GetSecurityGroupsADO = cmd.Parameters("GroupID") GetSecurityGroupsADO_Exit: On Error Resume Next Set prm = Nothing Set cmd = Nothing cnn.Close Set cnn = Nothing Exit Function GetSecurityGroupsADO_Error: UnexpectedError ModuleName, RoutineName, Version, Err.Number, Err.Description, Err.Source, VBA.Erl GetSecurityGroupsADO = "" Resume GetSecurityGroupsADO_Exit End Function ===================================== Function GetUserSecurityGroupsDAO() As String ' Special version of GetUserSecurityGroups for use with Traverse. ' NOTE: Does not use normal error handling as this is ' for use with Traverse ONLY Dim qdf As QueryDef Dim sql As String On Error GoTo GetUserSecurityGroupsDAO_Error sql = "{? = call trvsp_CurrentGroup (?)}" Set qdf = gConSQLSys.CreateQueryDef("", sql) qdf.Parameters(0).Direction = dbParamReturnValue qdf.Parameters("@Groups").Direction = dbParamOutput qdf.Execute If qdf.Parameters(0) = 0 Then sql = qdf.Parameters("@Groups") Else sql = "" End If GetUserSecurityGroupsDAO = sql GetUserSecurityGroupsDAO_Exit: On Error Resume Next Set qdf = Nothing Exit Function GetUserSecurityGroupsDAO_Error: GetUserSecurityGroupsDAO = "" Resume GetUserSecurityGroupsDAO_Exit End Function ===================================== Sub GetSPParameters(strSPName As String) ' Return the attributes of the parameters of a stored procedure. ' ie. from the debug window: ' Call GetSPParameters("qrySMGetPeriod") Dim strConnect As String Dim cnn As ADODB.Connection Dim cmd As ADODB.Command Dim prm As ADODB.Parameter 10 Set cnn = New ADODB.Connection 20 cnn.Open "DSN=SYS" 30 Set cmd = New ADODB.Command 40 cmd.ActiveConnection = cnn 50 cmd.CommandText = strSPName 60 cmd.CommandType = adCmdStoredProc 70 cmd.Parameters.Refresh 80 For i = 0 To cmd.Parameters.count - 1 90 Debug.Print "Parameter: " & i 100 Debug.Print " Name: " & cmd.Parameters(i).Name 110 Debug.Print " Type: " & cmd.Parameters(i).Type 120 Debug.Print "Direction: " & cmd.Parameters(i).Direction 130 Debug.Print " Size: " & cmd.Parameters(i).Size 140 Debug.Print " Attrib: " & cmd.Parameters(i).Attributes 150 Debug.Print " Value: " & cmd.Parameters(i).Value 155 Debug.Print "" 160 Next i 170 cnn.Close 180 Set cnn = Nothing End Sub -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Monday, May 07, 2007 10:06 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] Thanks for the help <> From cfoust at infostatsystems.com Mon May 7 15:38:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 7 May 2007 13:38:58 -0700 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: References: <000901c790db$f0c94bb0$6401a8c0@nant> Message-ID: You'll need to use API calls. I believe if you search the archives, you'll find multiple instances of this code listed. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 1:11 PM To: accessd at databaseadvisors.com Subject: [AccessD] Windows Dialogue Box? Hello All, In A97 I need to have a window pop up so the user can select the folder and file name where I want to create something. I don't want it to save anything at that point...I just want the path they picked. Any suggestions? Thanks, Mark A. Matte _________________________________________________________________ Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN In Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Mon May 7 15:55:40 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:55:40 +0000 Subject: [AccessD] Windows Dialogue Box? In-Reply-To: Message-ID: Thanks Charlotte...I found it. >From: "Charlotte Foust" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Windows Dialogue Box? >Date: Mon, 7 May 2007 13:38:58 -0700 > >You'll need to use API calls. I believe if you search the archives, >you'll find multiple instances of this code listed. > >Charlotte Foust > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 1:11 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Windows Dialogue Box? > >Hello All, > >In A97 I need to have a window pop up so the user can select the folder >and file name where I want to create something. I don't want it to save >anything at that point...I just want the path they picked. > >Any suggestions? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >Watch free concerts with Pink, Rod Stewart, Oasis and more. Visit MSN >In Concert today. >http://music.msn.com/presents?icid=ncmsnpresentstagline > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Need a break? Find your escape route with Live Search Maps. http://maps.live.com/default.aspx?ss=Restaurants~Hotels~Amusement%20Park&cp=33.832922~-117.915659&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=1118863&encType=1&FORM=MGAC01 From markamatte at hotmail.com Mon May 7 15:59:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 07 May 2007 20:59:43 +0000 Subject: [AccessD] Report to Excel In-Reply-To: Message-ID: Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i?m Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From Lambert.Heenan at AIG.com Mon May 7 16:18:45 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Mon, 7 May 2007 17:18:45 -0400 Subject: [AccessD] Report to Excel Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D5B6@xlivmbx35.aig.com> Take a look at DoCmd.TransferSpreadsheet acExport,... Basically you pass it the name of a Query, and for each differently named query it will add another tab to the Excel file that is created. Then to do your formatting you need to keep track of which worksheet need to be formatted and you'll wind up manipulating a specific Excel.Worksheet object and a Range object on that sheet. HTH Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 5:00 PM To: accessd at databaseadvisors.com Subject: [AccessD] Report to Excel Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i'm Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From JHewson at karta.com Mon May 7 16:27:24 2007 From: JHewson at karta.com (Jim Hewson) Date: Mon, 7 May 2007 16:27:24 -0500 Subject: [AccessD] Report to Excel In-Reply-To: References: Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Mark, I do this frequently. In one export I end up with 15 worksheets and manipulate the date in Excel via Access. I would use TransferSpreadsheet instead of what you have. Also, put Set appExcel = New Excel.Application before the TransferSpreadsheet command. If you use something like: DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True It will export to separate spreadsheets. HTH Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 07, 2007 4:00 PM To: accessd at databaseadvisors.com Subject: [AccessD] Report to Excel Hello All, I found the code below in the archives from Jim Hale...Anyway to use this approach but to have 2 reports go to the same workbook...just different tabs? Thanks, Mark A. Matte *********Code From Jim**************** Sub rpt_to_excel() Dim appExcel As Excel.Application, strpathname As String Dim strpathnew As String, strReport As String strpathname = "C:\test.xls" strpathnew = "C:\test2.xls" strReport = "rptInvsummary" DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname Set appExcel = New Excel.Application 'format your report With appExcel .Workbooks.Open strpathname, 0 .Visible = True 'just to watch the sheet .Range("A1:G1").Select .Selection.Font.Bold = True .Selection.Font.Name = "Arial" .Selection.Font.Size = 12 .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal End With appExcel.Quit Set appExcel = Nothing End Sub _________________________________________________________________ Download Messenger. Join the i'm Initiative. Help make a difference today. http://im.live.com/messenger/im/home/?source=TAGHM_APR07 From wdhindman at dejpolsystems.com Mon May 7 18:27:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 7 May 2007 19:27:45 -0400 Subject: [AccessD] Access and Linux References: <003901c790c3$6693e760$0501a8c0@HAL9005> Message-ID: <001501c790ff$51c42de0$7d7d6c4c@jisshowsbs.local> ...hhhmmm ...I use an Access be on Linux boxes I use as locale servers at trade shows but like Bryan, the fe's are on Win. William Hindman ----- Original Message ----- From: "Bryan Carbonnell" To: "Access Developers discussion and problem solving" Sent: Monday, May 07, 2007 1:11 PM Subject: Re: [AccessD] Access and Linux > On 5/7/07, Rocky Smolin at Beach Access Software > wrote: >> >> Dear List: >> >> Can an access from end run under Linux? Can the back end run off of a >> Linux >> server? >> >> MTIA, > > Front end. Maybe. It'll have to be run with Wine or CrossOver Office > > Back End. Yes. All the processing is done on the local machine the BE > is just a file on the network. All my DBs in use have the BE on Novell > servers. > > -- > 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 Gustav at cactus.dk Tue May 8 03:23:31 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:23:31 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable Message-ID: Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 07, 2007 6:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable I'vve never run into INSTEAD OF triggers, Shamil, since I don't actually program SQL Server. Thanks for pointing them out. For RAD, your point of view is perfectly justified, but for me the "lazy" way is the way that only needs developing once, so I have to disagree with you there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Friday, May 04, 2007 2:37 PM To: 'Access-D' Subject: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi All, I'm aware that the subject of this message could be a new and potentially "flame provoking" therefore I have to tell you in the very beginning that my only intention is to find what are weak and what are strong positions of proposed below Lazy/Agile database development approach... Here it's - an agile (?!) non-traditional(?!!) modern(?!!!) approach to the original subject question: "Re:When to Use a Junction Table" - do not care what will happen tomorrow - use simplest possible solution and make your customer happy today ASAP. When tomorrow comes and your customer will change their minds you'll get your customer promptly happy again because you know some "secrets" of modern agile development: for database-centered development and MS SQL one of these "secrets" are INSTEAD OF TRIGGERS: - imagine your customer wanted to keep information about his Customers, Products and Quantities of Products used/ordered by Customers; - classical/traditional solution is to create (at least) three tables: tblCustomer, tblProduct and tblProductsOfCustomer; - but you're agile developer and you create just one table tblProductsOfCustomer (yes, with natural compound (CustomerName, ProductName) primary key!) and one view - ProductsOfCustomer on tblProductsOfCustomer table. That's it for "database design" - I quoted "database design" because a professional traditional database designer/developer can hardly call what I have just done as database design - he will call that "design" something like "1-st grade botanic student garbage collection table"... Then you create a form (MS Access form using linked view or VB2005 form with Gridview) on ProductsOfCustomer view to enter customer and products information - and you're done in 15 minutes. Your customer is happy. He pays you 100 bucks for this your agile 15 minutes work: another consultant planned to charge your customer 300 bucks because they planned to create three tables, with identity primary keys and "all that jazz" - so your customer is even double happy - he saved 200 bucks. And he is ready now to use your solution in his real life business and this promptly made solution will save your customer even more money... But then tomorrow comes and your customer realizes that he sometimes enters different names for the same customer or the same product by thus getting "dirty" data. Usual story isn't it? Yes, it is, but by the moment your customer realizes he has some problems with your solution he has already saved quite some bucks because of the first version of the system you developed for him so quickly - therefore he is ready to pay you some more bucks for your agile development... And here you're - you tell him, OK, no problem but this solution will cost you this time 300 bucks because I need to do more work than previous time. And your customer doesn't argue - as I told you he saved already quite some bucks because of the usage of your system in his real life business and another developers planned to charged him this time 500 bucks to "fix your work and to implement the new flexible advanced solution"... And you do the "trick": 1. create this time three tables with identity keys (5 minutes); 2. modify ProductsOfCustomerView using joins (5 minutes); 3. write instead of insert, update and delete triggers - couple of hours if you do that first time and 15 minutes (5 minutes for each trigger) if you do that kind of work on regular basis; 4. modify GUI design - create a form to enter customer information, a form to enter product information and modify the form to enter product quantity information to use combo-boxes (or something like that)... And you're done in approx. 1 hour if you're experienced agile developer and in 3 hours if you're a novice one but know agile "secrets" and "tricks"... Your customer is happy again. You are happy too - you outperformed your competitor and you have got in total 400 bucks where your competitor planned originally to do all the work for 300 bucks. And what is important - from financial point of view the fact that you was paid 100 bucks more doesn't influence/impact badly your customer's business somehow because he got your first solution very promptly and used it in his business and got his profit (instead of waiting super duper costly original solution of your competitor)... Of course I do (over-)simplify here the possible real life development scenario but I do think that using INSTEAD OF TRIGGERS in MS SQL lets developers to become "lazy" or "agile" - how you call them depends on your point of view... Interesting to hear now your opinions, dear all, on this optimistic agile development practices I described above - what potential bottlenecks do you see with that non-traditional(?) agile, flexible, effective and always(?) more efficient and more profitable for all involved parties approach comparing it with going traditional way your competitors' development approach?... Thank you. -- Shamil From Gustav at cactus.dk Tue May 8 03:28:46 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:28:46 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use a JunctionTable Message-ID: Hi Eric Thanks for the clarification. That list of principles makes sense. Indeed as that is how we've always (which is since 1993) operated. That said, I think most of the discussion on agile programming relates to large projects where the "old method" was to use years in writing specifications involving users in endless meetings on something they could only imagine; then years was used to program the project using old technology. In the end the project was finished - typically with a major delay and a serious budget increase - but it was outdated from the first day as the real world, of course, had moved during the build of the project. /gustav >>> ebarro at verizon.net 07-05-2007 17:35 >>> Shamil, I think that if you were to check with the principles of Agile Development you will note that the goal is rapid application development (RAD) but not at the expense of technical excellence and good design. http://en.wikipedia.org/wiki/Agile_software_development Specifically... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances --Eric From Gustav at cactus.dk Tue May 8 03:45:39 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 10:45:39 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to Use aJunctionTable Message-ID: Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav From shamil at users.mns.ru Tue May 8 05:01:28 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 14:01:28 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000901c79157$d93e0090$6401a8c0@nant> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil <<< tail skipped >>> From shamil at users.mns.ru Tue May 8 05:34:35 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 14:34:35 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000a01c7915c$7a7b05d0$6401a8c0@nant> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c3761.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 07:19:00 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 08:19:00 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: <00a001c7916b$0fa3f500$657aa8c0@m6805> I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil From jwcolby at colbyconsulting.com Tue May 8 07:53:04 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 08:53:04 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000901c79157$d93e0090$6401a8c0@nant> References: <000901c79157$d93e0090$6401a8c0@nant> Message-ID: <00a701c7916f$d216dea0$657aa8c0@m6805> Shamil, On the whole I agree with you. I also believe however that the phrase "simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances..." is best interpreted through a developers perspective. Let me give you an example that I think fits here. I have a client that STARTED as a CALL CENTER for disability claims. I got involved with this company when their original call center software broke down due to an almost complete lack of normalization. All information about the policy, policy holder, claimant and claim were all in one big table. We all know that won't work well for long. I came in, analyzed the problem, recommended a fresh start, spent about 4 months normalizing the data (and rescuing the old data), and turned on a new system. I think that part is a requirement and has nothing to do with the discussion other than to point out that the first system (which was not mine) could be classified as "agile programming", i.e. it got them up and running well enough to afford to hire me to "do it the right way". My example of a bit more complex choice is this. The client is now moving into actually paying the claims as well. Un until this point the client simply processed the claim, validated it by collecting medical records, hiring detectives to spy on the claimant if fraud was suspected etc. Now they actually write the checks. Writing the checks involves a LOT of data transfer between mainframes and our database. When I started I used "agile" programming, literally hard coding solutions to get a file exporting data from our database to theirs. These hard coded solutions were a nightmare to write, and a nightmare to maintain. Ultimately, they "settle down" and just function but that process of getting them written and debugged was simply horrendous. BUT, that is the way I did it in order to "make it work NOW". The bigger problem is that for every new client that my client gets, I have to hand code a slew of these reports. In the background, between fires, I began developing a "table driven report spec", a two table system, where table 1 defines spec level stuff (name of the report, path the report is stored in, query supplying the data etc.) and table 2 defines field level stuff (name of the field in their spec, name of the field in my query (see table 1), position of the data in the fixed width line, width of the data in the fixed width line, pad character of that field, pad direction of that field etc. I implemented the solution with four classes, one to hold the fields data, one to hold the report data, one to assemble the strings from the fields for the report, and one to do whatever "glue" was required for that specific report (generally tiny and manageable now). My point here is that the "hard coded" solution I used originally works. Once it is stable it works forever. However it is a ROYAL PITA to set up and get functioning. My table driven method OTOH is dead simple to get functioning. Write the queries to pull the data specific to a report, build two records in the report table and the field table. In many cases that is it. Push the button and go. If the formatting changes, you go into the table and change the pad direction, the pad character, the format string applied to the data, the position or width in the table etc. So which is Agile programming? They BOTH are. Agile programming is my first reports, hard coded, a PITA to get functioning but stable once they work. Agile programming is ALSO going back and developing a system to do these reports "push button". In the beginning "get it working NOW" was the requirement. In the end "get it PUSHBUTTON" was the requirement. The client never asked for the second method, I just built it and delivered it. However now when they need a new report I just build a query and fill in the tables. AND, equally importantly, it is a common set of code doing it. The maintenance is incredibly smaller. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil From shamil at users.mns.ru Tue May 8 08:18:33 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 17:18:33 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a001c7916b$0fa3f500$657aa8c0@m6805> Message-ID: <000101c79173$60fd0650$6401a8c0@nant> <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 08:35:16 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 8 May 2007 17:35:16 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a701c7916f$d216dea0$657aa8c0@m6805> Message-ID: <000301c79175$b6a55c40$6401a8c0@nant> <<< So which is Agile programming? They BOTH are. >>> Yes, John, they both are but if you used Visual Studio and MS SQL and Crystal reports/Active Reports/... then your transition (assuming you're experienced with these technologies) from the first solution to the second one would have been more smooth, more quick I think and if you have also been experienced with agile methodologies (I'm not I'm learning) then this transition would have also been very/even more natural for you - I mean technical refactoring steps when you refactor one solution into another one "on-the-fly", i.e. without (almost) getting down the first solution, which is currently running, down: to do such refactoring you have to have good/complete acceptance and unit tests coverage, which you I guess didn't have or which you have a few and instead of these acceptance/unit tests used time consuming debugging... Yes, you made it finally this transition - but consciously "armored" with agile development methodologies and development tools you'd have spent fewer resources... And if you developed this system in MS Access it's still a problem to scale it up as e.g. a Web application - when such a system developed using the development tools mentioned above then scaling up doesn't require a lot of resources/reworking.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:53 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Shamil, On the whole I agree with you. I also believe however that the phrase "simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances..." is best interpreted through a developers perspective. Let me give you an example that I think fits here. I have a client that STARTED as a CALL CENTER for disability claims. I got involved with this company when their original call center software broke down due to an almost complete lack of normalization. All information about the policy, policy holder, claimant and claim were all in one big table. We all know that won't work well for long. I came in, analyzed the problem, recommended a fresh start, spent about 4 months normalizing the data (and rescuing the old data), and turned on a new system. I think that part is a requirement and has nothing to do with the discussion other than to point out that the first system (which was not mine) could be classified as "agile programming", i.e. it got them up and running well enough to afford to hire me to "do it the right way". My example of a bit more complex choice is this. The client is now moving into actually paying the claims as well. Un until this point the client simply processed the claim, validated it by collecting medical records, hiring detectives to spy on the claimant if fraud was suspected etc. Now they actually write the checks. Writing the checks involves a LOT of data transfer between mainframes and our database. When I started I used "agile" programming, literally hard coding solutions to get a file exporting data from our database to theirs. These hard coded solutions were a nightmare to write, and a nightmare to maintain. Ultimately, they "settle down" and just function but that process of getting them written and debugged was simply horrendous. BUT, that is the way I did it in order to "make it work NOW". The bigger problem is that for every new client that my client gets, I have to hand code a slew of these reports. In the background, between fires, I began developing a "table driven report spec", a two table system, where table 1 defines spec level stuff (name of the report, path the report is stored in, query supplying the data etc.) and table 2 defines field level stuff (name of the field in their spec, name of the field in my query (see table 1), position of the data in the fixed width line, width of the data in the fixed width line, pad character of that field, pad direction of that field etc. I implemented the solution with four classes, one to hold the fields data, one to hold the report data, one to assemble the strings from the fields for the report, and one to do whatever "glue" was required for that specific report (generally tiny and manageable now). My point here is that the "hard coded" solution I used originally works. Once it is stable it works forever. However it is a ROYAL PITA to set up and get functioning. My table driven method OTOH is dead simple to get functioning. Write the queries to pull the data specific to a report, build two records in the report table and the field table. In many cases that is it. Push the button and go. If the formatting changes, you go into the table and change the pad direction, the pad character, the format string applied to the data, the position or width in the table etc. So which is Agile programming? They BOTH are. Agile programming is my first reports, hard coded, a PITA to get functioning but stable once they work. Agile programming is ALSO going back and developing a system to do these reports "push button". In the beginning "get it working NOW" was the requirement. In the end "get it PUSHBUTTON" was the requirement. The client never asked for the second method, I just built it and delivered it. However now when they need a new report I just build a query and fill in the tables. AND, equally importantly, it is a common set of code doing it. The maintenance is incredibly smaller. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 08:37:55 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 09:37:55 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000101c79173$60fd0650$6401a8c0@nant> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> <000101c79173$60fd0650$6401a8c0@nant> Message-ID: <00a901c79176$167d0910$657aa8c0@m6805> Shamil, >I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances I do not see anything in there about a specific agile development platform. It appears to me that Agile Development is a concept, not a platform. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Tue May 8 08:47:54 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 15:47:54 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable Message-ID: Hi Shamil OK, I think I understand you - and maybe not, because how can you prepare for *any* future change while at the same time perform quick and lazy programming? Still, we may just be doing this lazy stuff here as we've never supplied a model or database schema for a client, some don't even have any documentation at all because the operation of the app is so straight forward. On the other hand, doing it "right" - and here I think of a (nearly) normalized database structure - I have found to be the best way to prepare for "any" future change, not that I have thought so much about it. I can think of a couple of examples from years ago where I had not done it right (for example, but NOT for opening that discussion again, by using "easy" natural keys!) and where I later was beaten by the poor design when changes were requested. /gustav >>> shamil at users.mns.ru 08-05-2007 12:01 >>> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil From Gustav at cactus.dk Tue May 8 08:54:56 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 08 May 2007 15:54:56 +0200 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable Message-ID: Hi Shamil I must believe you here as I haven't done much programming in SQL Server and you have so much more experience in this area. However, to me a middle-tier can be made from anything that fits the purpose, and if that calls for another instance of SQL Server, that's fine with me. Actually, it sounds like it could be a very clever solution. /gustav >>> shamil at users.mns.ru 08-05-2007 12:34 >>> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav From fuller.artful at gmail.com Tue May 8 09:17:04 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 8 May 2007 10:17:04 -0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: <29f585dd0705080717l519fc8b8y42ede2fbe7d187da@mail.gmail.com> There is no requirement for the middle tier to have a new instance of SQL. In fact I have no idea how you arrived at that thought. The general thinking behind 3-tier architecture is this: 1. client has minimal hardware and minimal installation. Client software has no idea where the database lives, and speaks only to Miss Middleton. 2. Miss Middleton treats all her clients as equally worthless, but does translate their requests into requests from the database, whose address only Miss Middleton knows. 3. The database developers are free to rewite any sprocs and UDFs and views as they please, so long as Miss Middleton is undisturbed. They can even redesign tables, since any good designer forbids direct access to tables. So middle-tier Miss Middleton controls every access to every table, whether it be through a sproc or udf or view or materialized view. Arthur On 5/8/07, Gustav Brock wrote: > > Hi Shamil > > I must believe you here as I haven't done much programming in SQL Server > and you have so much more experience in this area. > However, to me a middle-tier can be made from anything that fits the > purpose, and if that calls for another instance of SQL Server, that's fine > with me. Actually, it sounds like it could be a very clever solution. > > /gustav > > From cfoust at infostatsystems.com Tue May 8 09:57:59 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 07:57:59 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a001c7916b$0fa3f500$657aa8c0@m6805> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> Message-ID: Things slow down in your world??? Every boss I've had has promised "things will slow down in " and they never have. What am I doing wrong, Ann Landers? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Tue May 8 10:01:21 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 08:01:21 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <000101c79173$60fd0650$6401a8c0@nant> References: <00a001c7916b$0fa3f500$657aa8c0@m6805> <000101c79173$60fd0650$6401a8c0@nant> Message-ID: I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Tue May 8 10:15:31 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 08:15:31 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: References: Message-ID: Charlotte's system is n-tier, but basically 3-tier. Our "data tier" holds no data, it holds the business logic and information about the shape and manipulation of data. It is, in fact, a middle tier. The programmers don't have to deal with the true back end, we program to that middle tier. Of course, when the app is in early stages, we're receiving curve balls from the back end DBA, but that's par when creating some new and complicated. But once the dust has settled on the schema, we only have to modify data providers in minimal ways to deal with whatever backend is thrown at us. We currently support either Access or SQL Server backends using a common OleDb provider. There is logic buried in there to check on what kind of BE we're talking to and make any necessary substitutions of things like date delimiters as needed. Eventually, we'll support Oracle too, but we started with the familiar. Instead of SQL Server triggers, we use code that will also work against other backends, since it doesn't depend on the server to execute it. This isn't exactly agile, but the apps we're building couldn't be done that way because the demand for precise historical information is both exhaustive and intense. The gradual development took place over years, and what we're doing now is putting a new face on it, adding things we couldn't do in Access alone, and adding sizzle to make it competitive. It also works quite well and our testers are reduced to finding things that only fail on Wednesdays when the wind is right. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 1:46 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav >>> shamil at users.mns.ru 07-05-2007 17:54 >>> Hi Gustav, Thank you for your reply. Yes, "Agile" can be considered as a buzzword but experienced developers following agile development methodologies achieve results, which I think can't be achieved when using "traditional" phased application development. There are similarities but the main difference is that an agile developer is always ready to embrace the change - any change requests or requests to implement new functionality: as we all know within traditional, even phased development change requests and requests for new functionality are often becoming big problems... <<< I've never felt I understood it fully >>> I must say I do not feel I understand it fully, I will probably never will but the more agile development practices I learn and I apply in real life development the more I see this is the way to effectively manage modern software application development complexities, especially for small software development shops with limited resources... <<< I'm surprised of the low level at which some "experts" are moving. >>> Gustav, may I disagree here? I'd think this guy is thinking / operating on rather high level (sometimes abstract/conceptual - i.e. applicable to a broad range of real life database development cases) - his goal is to effectively "unbind" developers and DBAs allowing both parties to work in parallel but separately on the same project, without interfering each other work - IOW his goal is effective teamwork... <<< when he stuffs them with all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. >>> Gustav, may I disagree here also? There are at least two+ ideas "this guy" explores: - 1) propagating updates through (non-updatable) views; - 2) creating common (set of) views on top of datamodel/database base tables - the (set of) views to be used: 2.1) as abstraction layer for developers for agile database development; 2.2) as a common (set of) views to be used for different types of FEs: desktop application FE, web application FE, Web services, mobile application Fes, reporting services etc And for the case (2.2) formatting should belong in my opinion (mainly) to the views to have coordinated results presented on all types of FEs... As for non-updatable views - the idea in my opinion is that while an application evolves, the views, which were originally updatable because they were based on just one base table or on a joining of the base tables, which updates (inserts, updates, deletes) MS SQL server is able to unambiguously handle by itself - these views become non-updatable because they get some calculated values or because MS SQL starts to translate their updates (because of the base tables and their relationships changes) not the way developers wanted/expected - and here INSTEAD OF triggers, which help to solve ambiguities... Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 07, 2007 2:17 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use aJunctionTable Hi Shamil Thanks for winding this up. You really keep us awake. I truly appreciate all your findings which I in many cases not even would know where to look for. One should be careful when buzz words pop up. "Agile" is one of these. I've never felt I understood it fully, neither haven't I cared much, but from your description I can see, we've always worked after that principle though we normally just call the partial implementations for "phases". Phase One gets the client going, Phase Two implements the next step when he is ready, and at last you have the final Phase which rounds up the project. An important thing is that this way you may adjust phases based on experiences from the previous. I'm surprised of the low level at which some "experts" are moving. In the first link: http://www.tdan.com/i034ht03.htm the guy has discovered that Views (like Select queries in the Access world) may be created in the database, and when you do, he says, you adopt to agile programming! However, it takes some time before he realises that many views are not updatable, indeed not when he stuffs them will all kinds of expressions to return formatted data - a boo boo as formatting belongs to the frontend. /gustav >>> shamil at users.mns.ru 06-05-2007 12:07 >>> Hi Gustav, The point is agile development - to implement and to deliver ASAP requested *functionality*. Customers most of the time do not care how you achieve the result: there are exceptions but these are few - these *exceptional^ customers who force you to use this or that *development method(ologies)* are another subject and we can discuss it in another thread not here. <<< ... the client may call on others to judge your quick'n'dirty delivery... >>> No problem with that at all, Gustav. I can find many arguments to "defend" my agile position/approach: you know I'm a professional "old-school BDUF" developer with rich experience in this BDUF forcing a developer to foresee all the future change requests and requests for new functionality. Yes, I do know that customers change their mind often and I'm ready and I do know what to do to promptly convert/refactor "quick'n'dirty" solution to the "right" one... Therefore no problem with my customer calling other developers to check - if he will decide he needs "right" solution from the very beginning I will try to explain him that he will get it promptly when his business will urge for this "right" solution but currently, I will tell him, "quick'n'dirty" solution is all he needs.... Yes, my approach is risky but USD100 vs. USD300 for other solutions should make the difference for customer to charge me with this project. And this my sample case is just a sample and of course USD200 not a big difference but in real life case that could be EUR10,000 vs. EUR30,000 and one month of work until delivery vs. three months of work until delivery - that bigger financial and time difference, I expect you agree, will "play on my side"... <<< Second, programming should be fun >>> Agile development is a lot of fun, Gustav. Much more fun than BDUF or "right" development are. (I know what I'm saying having spent most of my development carrier working on projects using BDUF or "right" development methodologies) And agile development needs a good portion of courage - and when you see how you "refactor" this courage into useful delivered on time and on budget applications then you get even more fun from that software development business activity... And agile development is not easy. And it needs a lot of experience to be effective. I'm leaning it by doing my customers' projects. And it works. Still there are a lot to learn - in a nutshell agile is a natural for software development trial'n'error procedure but unlike traditional BDUF or "right" approaches agile constantly gives "perceivable" results and these "perceivable" results feedback is a fun also: everybody who worked on large projects could remember months (and years?) of design and development before delivery and who experienced such projects do remember that the more months (years) a project takes before delivery the less is the team and customers' optimism, the higher is the probability that the finally delivered software will not satisfy customers' business needs... And "right" solutions are also constantly changing - that is the fact, and the more "right" is the solution delivered using traditional development methodologies the less easier to refactor such "right" solutions into "proper" ones and then again to the "right" one and so on... Agile gives you experience and courage (and fun from this courage) I mentioned above to react promptly on change requests delivering new functionality when it's needed. And "right" and BDUF approaches do not give/do not develop in you this experience and courage. I know that Gustav and I know you know that too of course - the more complex software you develop becomes the less courage you have while fixing bugs in it or implementing new functionality, which results in changing existing code - "don't touch it when it works well to not make it broken" mantra is far from being called a "courageous developer slogan" :) And modern development needs a lot of courage because modern software is becoming more and more complicated and because change requests are becoming "a never ending storm" around you and a developer has to work in that "stormy environment" and deliver useful functionality in time and on budget... <<< Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. >>> Yes, Gustav - "been there seen that", well, I must say I'm still "one leg there and one leg here": I think this "hatred of quick'n'dirty solutions", which is still living in hearts of experienced software developers as you and me and many developers here are - this hatred comes from fear to fail to deliver "right" software on *fixed* time and budget, resulting in many hours of overwork, badly affecting private life and finances... But when "right" solution is getting fallen as "playing cards home" a few hours, days, months after delivery this sad picture results in even more hatred and fear not fun... I can be wrong, but I guess I'm not - this is what happened many times in the past with me and still happens, this is what described in many books on agile software development I read, this is what should happen with everybody except a few genius developers who I have never met/seen - have you? As for the subject and my proposal to use INSTEAD OF triggers for "agile database design and development" - I have searched Internet and as far as I see I'm not alone :) - well, of course I'm not talking about "silver bullet" - and I asked, dear all, in my first posting what weak positions you see in this approach: could it result in less reactive application system - very slow system reaction compared to the traditional "right" development/database design practices? I think that from financial point of view proposed agile approach is (much) more attractive or that point is also questionable? I assume that being experienced an agile developer will not fail to refactor his "quick'n'dirty" solution into the "right" one when needed on the same or slightly higher but in long run for sure considerably less time and budget. Less in long run because agile will deliver only what is needed not what "could be needed in the future". My search on Internet has returned these useful links - I did do this search after my first posting here: VIEWS: THE KEY TO DATABASE AGILITY http://www.tdan.com/i034ht03.htm Chapter 37 - Extending Triggers with INSTEAD OF http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part10/c376 1.ms px?mfr=true Exploring SQL Server Triggers http://msdn.microsoft.com/msdnmag/issues/03/12/DataPoints/ Exploring SQL Server Triggers: Part 2 http://msdn.microsoft.com/msdnmag/issues/04/01/DataPoints/ Making use of INSTEAD-OF triggers in SQL Server 2005 http://articles.techrepublic.com.com/5100-9592_11-6113179.html As you can find if you read through the articles from the above links proposed approach could fail for large systems. But nobody did try to check how well/bad it will work for such large systems. If I will find free time in the near future I will try to check that but first I will try to collect all possible information on this subject to not waste time to "reinvent the (bad) wheel"... And of course similar agile "quick'n'dirty" approach can be applied by using stored procedures as an abstraction layer. In this latter case there is no doubts that there will be no any system reaction degradation but using SPs could be more laborious than INSTEAD OF triggers and what is also good with triggers from conceptual point of view is that they will *physically* belong to the objects(/VIEWs) depending on them - i.e. they will implement business rules for the business objects owning them... There are other advantages and disadvantages of views with INSTEAD OF triggers - you can read about them by following the above URLs... That's it for today. Your turn now :) Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Sunday, May 06, 2007 10:20 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to Use a JunctionTable Hi Shamil I see your point. The perfect solution that takes forever to implement is useless. However, it is my experience that once you've pinpointed if not the perfect solution then a "right" solution, it doesn't take that much longer to develop than a quick and dirty. Add to this two topics: first, the client may call on others to judge your quick'n'dirty delivery with the result that you are stamped as a non-pro. Second, programming should be fun. Personally I hate when I have to make "quick" solutions - it happens - and such work may even tend to take longer time than it should. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 8 10:20:54 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 11:20:54 -0400 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <00b601c79184$79118390$657aa8c0@m6805> In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Tue May 8 10:24:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 15:24:43 +0000 Subject: [AccessD] Report to Excel In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From Lambert.Heenan at AIG.com Tue May 8 11:00:55 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 8 May 2007 11:00:55 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D791@xlivmbx35.aig.com> Well [SomeField] <=10 is a Boolean expression, and Access does the conversion for you automatically. So I suspect the SQL server is not so cooperative and that you will need to explicitly cast the expression to a Boolean value. What's SQL server's equivalent of Cbool() ? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 11:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] SQL Server - Turning comparisons into Booleans In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From JHewson at karta.com Tue May 8 11:13:28 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 8 May 2007 11:13:28 -0500 Subject: [AccessD] Report to Excel In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B612F@karta-exc-int.Karta.com> I usually export the data then format each spreadsheet. Since each spreadsheet is standardized, that is each column might have several criterion for subtotals and then a total for all each column. So I might have several subtotal cells then a total cell. I can insert rows; format the subtotal with different colors and bold font, and change the header row to ensure it prints on each page. I can also modify the page setup features. I can copy and paste sections from one worksheet to another. And if needed, I could put in conditional formatting. Most of these print out on an 11X17 inch page. Even then the print can be a little small. This one export has 17 spreadsheets, of which 7 are formatted. I export the data to Excel because even after I format the workbook and use "pretty" colors (I use several) the end users re-sort the data several times to fit their needs. Initially, it took a lot of time to set the format for each worksheet. The VP of Business Development or one of his minions was spending up to 4 hours a day formatting the data. It now takes about a minute. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Tuesday, May 08, 2007 10:25 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage-get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Tue May 8 11:54:19 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 16:54:19 +0000 Subject: [AccessD] Report to Excel In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, But I need to output a report...not a table or query. I think DoCmd.TransferSpreadsheet will not work with a report. The reports have a lot of conditional formatting that I need in the output. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Tue May 8 11:55:59 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 16:55:59 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B60D2@karta-exc-int.Karta.com> Message-ID: Thanks Jim, I need to export a report because of the conditional formatting. TransferSpreadsheet won't work with reports. Any thoughts? Thanks, Mark A. Matte >From: "Jim Hewson" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel >Date: Mon, 7 May 2007 16:27:24 -0500 > >Mark, >I do this frequently. In one export I end up with 15 worksheets and >manipulate the date in Excel via Access. > >I would use TransferSpreadsheet instead of what you have. >Also, put Set appExcel = New Excel.Application before the >TransferSpreadsheet command. > >If you use something like: > > DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >It will export to separate spreadsheets. > >HTH > >Jim >jhewson at karta.com > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Monday, May 07, 2007 4:00 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] Report to Excel > >Hello All, > >I found the code below in the archives from Jim Hale...Anyway to use this >approach but to have 2 reports go to the same workbook...just different >tabs? > >Thanks, > >Mark A. Matte > >*********Code From Jim**************** >Sub rpt_to_excel() >Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >As String, strReport As String > >strpathname = "C:\test.xls" >strpathnew = "C:\test2.xls" >strReport = "rptInvsummary" >DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >Set appExcel = New Excel.Application > >'format your report > With appExcel > .Workbooks.Open strpathname, 0 > .Visible = True 'just to watch the sheet > .Range("A1:G1").Select > .Selection.Font.Bold = True > .Selection.Font.Name = "Arial" > .Selection.Font.Size = 12 > .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal > End With > appExcel.Quit > Set appExcel = Nothing >End Sub > >_________________________________________________________________ >Download Messenger. Join the i'm Initiative. Help make a difference today. >http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Make every IM count. Download Messenger and join the i?m Initiative now. It?s free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 From Lambert.Heenan at AIG.com Tue May 8 12:22:41 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 8 May 2007 12:22:41 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3D7D8@xlivmbx35.aig.com> Message got bounced the first time. Let's try again. Message got bounced the first time. Let's try again. Well [SomeField] <=10 is a Boolean expression, and Access does the conversion for you automatically. So I suspect the SQL server is not so cooperative and that you will need to explicitly cast the expression to a Boolean value. What's SQL server's equivalent of Cbool() ? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 11:21 AM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com Subject: [AccessD] SQL Server - Turning comparisons into Booleans In Access you can do something like: MyAlias: [SomeField] <=10 Which translates into SQL that looks like: [SomeField]<=10 as MyAlias When I try move that (cut and paste) from Access into SQL Server I get a the infamous "syntax error somewhere near <" Question 1: What is wrong with that in SQL Server Question 2: How do I accomplish this directly in the query builder in SQL Server? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Tue May 8 12:42:29 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 8 May 2007 23:12:29 +0530 Subject: [AccessD] Report to Excel_ References: Message-ID: Mark, Reports sent directly from Access to Excel are known to suffer from the following shortcomings, making the outcome rather un-acceptable: (a) Substantial loss of alignment and formatting. (b) Labels and lines are lost. (c) Unwanted depiction of actual names of controls, cluttering up the overall display. (d) Group footers do not get transferred properly. There is partial or total loss of content. (e) Back colors (if any) of controls and sections are lost. Chronic limitations outlined above, can be overcome by routing the report via Word and performing final dressing up and formatting within Excel application, which happens to be well suited to perform such a task. With this, the Excel report attains a look basically as good as that of a normal Access report. My sample db named Reports_AccessToExcelAndWord, demonstrates export of Access reports to Excel, with proper alignment and formatting, including all group headers/footers positioned appropriately, along with lines and back colors. Final version of Excel report also gets saved in word document format. This sample db (in Access 2000 file format) is available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. References - Excel 9.0 Object Library, Word 9.0 Object Library, DAO 3.6, Microsoft Scripting RunTime. If you wish to pursue further as per the approach outlined above, you might like to first try out the sample db as it is (without making any modification) and confirm whether it works smoothly at your end. Best wishes, A.D.Tejpal ----- Original Message ----- From: Mark A Matte To: accessd at databaseadvisors.com Sent: Tuesday, May 08, 2007 22:25 Subject: Re: [AccessD] Report to Excel_ Thanks Jim, I need to export a report because of the conditional formatting. TransferSpreadsheet won't work with reports. Any thoughts? Thanks, Mark A. Matte From mmattys at rochester.rr.com Tue May 8 12:58:26 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Tue, 8 May 2007 13:58:26 -0400 Subject: [AccessD] Report to Excel_ References: Message-ID: <02bc01c7919a$88116160$0302a8c0@Laptop> Mark, You could put most of your formatting in an xlt, but it's going to take a bit of fancy automation to replicate your report. Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Mark A Matte" To: Sent: Tuesday, May 08, 2007 12:55 PM Subject: Re: [AccessD] Report to Excel_ > Thanks Jim, > > I need to export a report because of the conditional formatting. > TransferSpreadsheet won't work with reports. > > Any thoughts? > > Thanks, > > Mark A. Matte > > >>From: "Jim Hewson" >>Reply-To: Access Developers discussion and problem >>solving >>To: "Access Developers discussion and problem >>solving" >>Subject: Re: [AccessD] Report to Excel >>Date: Mon, 7 May 2007 16:27:24 -0500 >> >>Mark, >>I do this frequently. In one export I end up with 15 worksheets and >>manipulate the date in Excel via Access. >> >>I would use TransferSpreadsheet instead of what you have. >>Also, put Set appExcel = New Excel.Application before the >>TransferSpreadsheet command. >> >>If you use something like: >> >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True >> >>It will export to separate spreadsheets. >> >>HTH >> >>Jim >>jhewson at karta.com >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Monday, May 07, 2007 4:00 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] Report to Excel >> >>Hello All, >> >>I found the code below in the archives from Jim Hale...Anyway to use this >>approach but to have 2 reports go to the same workbook...just different >>tabs? >> >>Thanks, >> >>Mark A. Matte >> >>*********Code From Jim**************** >>Sub rpt_to_excel() >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew >>As String, strReport As String >> >>strpathname = "C:\test.xls" >>strpathnew = "C:\test2.xls" >>strReport = "rptInvsummary" >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname >> >>Set appExcel = New Excel.Application >> >>'format your report >> With appExcel >> .Workbooks.Open strpathname, 0 >> .Visible = True 'just to watch the sheet >> .Range("A1:G1").Select >> .Selection.Font.Bold = True >> .Selection.Font.Name = "Arial" >> .Selection.Font.Size = 12 >> .ActiveWorkbook.SaveAs Filename:=strpathnew,FileFormat:=xlNormal >> End With >> appExcel.Quit >> Set appExcel = Nothing >>End Sub >> >>_________________________________________________________________ >>Download Messenger. Join the i'm Initiative. Help make a difference today. >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > > _________________________________________________________________ > Make every IM count. Download Messenger and join the i'm Initiative now. > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > -------------------------------------------------------------------------------- > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From markamatte at hotmail.com Tue May 8 15:30:03 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 20:30:03 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: Thanks A.D., I actually got the reports to export exactly like I need. The results are in 2 files. I'm trying to put them in the same workbook. The below code works every other time, but excel gets stuck in memory and I have to go kill it. The times it does not work I get the error "RPC Server not available" . The error occurs on the line where I copy the sheet. Any thoughts? Thanks, Mark ****************CODE***************** Set appExcel = New Excel.Application With appExcel .Workbooks.Open "c:\test", 0 .Workbooks.Open "C:\test1.xls", 0 Sheets("rptTest").Copy before:=Workbooks("test.xls").Sheets(1) .ActiveWorkbook.Save .ActiveWorkbook.Close .ActiveWorkbook.Save .ActiveWorkbook.Close End With appExcel.Quit Set appExcel = Nothing >From: "A.D.TEJPAL" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 23:12:29 +0530 > >Mark, > > Reports sent directly from Access to Excel are known to suffer from >the following shortcomings, making the outcome rather un-acceptable: > (a) Substantial loss of alignment and formatting. > (b) Labels and lines are lost. > (c) Unwanted depiction of actual names of controls, cluttering up the >overall display. > (d) Group footers do not get transferred properly. There is partial or >total loss of content. > (e) Back colors (if any) of controls and sections are lost. > > Chronic limitations outlined above, can be overcome by routing the >report via Word and performing final dressing up and formatting within >Excel application, which happens to be well suited to perform such a task. >With this, the Excel report attains a look basically as good as that of a >normal Access report. > > My sample db named Reports_AccessToExcelAndWord, demonstrates export >of Access reports to Excel, with proper alignment and formatting, >including all group headers/footers positioned appropriately, along with >lines and back colors. Final version of Excel report also gets saved in >word document format. > > This sample db (in Access 2000 file format) is available at Rogers >Access Library (other developers library). Link - >http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. > > References - Excel 9.0 Object Library, Word 9.0 Object Library, DAO >3.6, Microsoft Scripting RunTime. > > If you wish to pursue further as per the approach outlined above, you >might like to first try out the sample db as it is (without making any >modification) and confirm whether it works smoothly at your end. > >Best wishes, >A.D.Tejpal > > ----- Original Message ----- > From: Mark A Matte > To: accessd at databaseadvisors.com > Sent: Tuesday, May 08, 2007 22:25 > Subject: Re: [AccessD] Report to Excel_ > > > Thanks Jim, > > I need to export a report because of the conditional formatting. > TransferSpreadsheet won't work with reports. > > Any thoughts? > > Thanks, > > Mark A. Matte >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Tue May 8 15:48:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 16:48:11 -0400 Subject: [AccessD] Redeem your voucher Message-ID: <011e01c791b2$32acf370$657aa8c0@m6805> Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Tue May 8 15:52:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Tue, 08 May 2007 20:52:57 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <02bc01c7919a$88116160$0302a8c0@Laptop> Message-ID: Thanks Michael, I actually got the formatting like I needed. I'm just having issues getting the worksheets into 1 workbook. Thanks, Mark A. Matte >From: "Michael R Mattys" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 13:58:26 -0400 > >Mark, > >You could put most of your formatting in an xlt, but it's going >to take a bit of fancy automation to replicate your report. > >Michael R. Mattys >MapPoint & Access Dev >www.mattysconsulting.com > >----- Original Message ----- >From: "Mark A Matte" >To: >Sent: Tuesday, May 08, 2007 12:55 PM >Subject: Re: [AccessD] Report to Excel_ > > > > Thanks Jim, > > > > I need to export a report because of the conditional formatting. > > TransferSpreadsheet won't work with reports. > > > > Any thoughts? > > > > Thanks, > > > > Mark A. Matte > > > > > >>From: "Jim Hewson" > >>Reply-To: Access Developers discussion and problem > >>solving > >>To: "Access Developers discussion and problem > >>solving" > >>Subject: Re: [AccessD] Report to Excel > >>Date: Mon, 7 May 2007 16:27:24 -0500 > >> > >>Mark, > >>I do this frequently. In one export I end up with 15 worksheets and > >>manipulate the date in Excel via Access. > >> > >>I would use TransferSpreadsheet instead of what you have. > >>Also, put Set appExcel = New Excel.Application before the > >>TransferSpreadsheet command. > >> > >>If you use something like: > >> > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >> > >>It will export to separate spreadsheets. > >> > >>HTH > >> > >>Jim > >>jhewson at karta.com > >> > >> > >>-----Original Message----- > >>From: accessd-bounces at databaseadvisors.com > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >>Sent: Monday, May 07, 2007 4:00 PM > >>To: accessd at databaseadvisors.com > >>Subject: [AccessD] Report to Excel > >> > >>Hello All, > >> > >>I found the code below in the archives from Jim Hale...Anyway to use >this > >>approach but to have 2 reports go to the same workbook...just different > >>tabs? > >> > >>Thanks, > >> > >>Mark A. Matte > >> > >>*********Code From Jim**************** > >>Sub rpt_to_excel() > >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew > >>As String, strReport As String > >> > >>strpathname = "C:\test.xls" > >>strpathnew = "C:\test2.xls" > >>strReport = "rptInvsummary" > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >> > >>Set appExcel = New Excel.Application > >> > >>'format your report > >> With appExcel > >> .Workbooks.Open strpathname, 0 > >> .Visible = True 'just to watch the sheet > >> .Range("A1:G1").Select > >> .Selection.Font.Bold = True > >> .Selection.Font.Name = "Arial" > >> .Selection.Font.Size = 12 > >> .ActiveWorkbook.SaveAs >Filename:=strpathnew,FileFormat:=xlNormal > >> End With > >> appExcel.Quit > >> Set appExcel = Nothing > >>End Sub > >> > >>_________________________________________________________________ > >>Download Messenger. Join the i'm Initiative. Help make a difference >today. > >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > >> > >> > >>-- > >>AccessD mailing list > >>AccessD at databaseadvisors.com > >>http://databaseadvisors.com/mailman/listinfo/accessd > >>Website: http://www.databaseadvisors.com > > > > _________________________________________________________________ > > Make every IM count. Download Messenger and join the i'm Initiative now. > > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > > > > > >-------------------------------------------------------------------------------- > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From ebarro at verizon.net Tue May 8 16:17:05 2007 From: ebarro at verizon.net (Eric Barro) Date: Tue, 08 May 2007 14:17:05 -0700 Subject: [AccessD] Redeem your voucher In-Reply-To: <011e01c791b2$32acf370$657aa8c0@m6805> Message-ID: <0JHQ0068CR4GUVHA@vms046.mailsrvcs.net> Well John, maybe the M$ gods have heard your rants and decided to block your IP from their servers. :) FYI...my officemate just got through their site and it accepted *his* voucher! LOL... -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 16:58:44 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 01:58:44 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <000001c791bc$0c614950$6401a8c0@nant> <<< how can you prepare for *any* future change while at the same time perform quick and lazy programming? >>> Yes, it sounds as a paradox Gustav but that is possible. One example: I verbatim followed Kent Beck's now classical multi-currency calculation sample application development where they start from simple requirements and using unit testing and constant refinement of requirements they finally get advanced and very flexible object model supporting multi-currency calculations. I personally think that to design this object model "right from the very beginning" an experienced OO developer would have spent a couple of days. What they did to achieve the same result should take a couple/four hours for experienced agile(/XP) developer - and by this sample they also showed what means "to be prepared for any future changes" - prompt reaction on new requirements with new version of software and being 100% sure that adaptation of existing software to the new requirements will not break existing business rules if these are not changed by new requirements... <<< normalized database structure - I have found to be the best way to prepare for "any" future change, >>> Yes, and I'm not saying normalized stricture is bad - I'm just saying it should naturally appear when first time needed because of requested new functionality or because of the need to have such structure as being the most effective to achieve requested level of the system productivity. If requirements of higher system productivity or new functionality will never come then highly normalized database structure will be never needed for a certain project case i.e. it will be over engineering and waste of resources... <<< and where I later was beaten by the poor design when changes were requested >>> Well, here is what an abstraction layer based on views (with INSTEAD OF triggers) or stored procedures and UDFs is for - to minimize "poor design" side effects when change requests come... BTW, there are books published by respectful authors and publishers, which prove that agile development and eXtreme Programming are not good/not effective - one of them is: "Extreme Programming Refactored: The Case Against XP" by Matt Stephens and Doug Rosenberg ISBN:1590590961 Apress C 2003 But many more are presenting/describing advantages of agile development... What side to follow - here everybody decides for themselves.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 5:48 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil OK, I think I understand you - and maybe not, because how can you prepare for *any* future change while at the same time perform quick and lazy programming? Still, we may just be doing this lazy stuff here as we've never supplied a model or database schema for a client, some don't even have any documentation at all because the operation of the app is so straight forward. On the other hand, doing it "right" - and here I think of a (nearly) normalized database structure - I have found to be the best way to prepare for "any" future change, not that I have thought so much about it. I can think of a couple of examples from years ago where I had not done it right (for example, but NOT for opening that discussion again, by using "easy" natural keys!) and where I later was beaten by the poor design when changes were requested. /gustav >>> shamil at users.mns.ru 08-05-2007 12:01 >>> Hi Gustav, I think we are still talking about different things: the key point of agile in my opinion is to be always prepared to *any* change customers may wish to implement in working deployed software. To *any* change not to *expected* (by developer) change. The more complicated modern software and database models and their implementations become the less chances a developer has "to be a little ahead of the client". Such being ahead just becomes impossible - read very expensive both in time and money. One partial solution of this issue are all kinds of application frameworks and generic tunable vertical and horizontal markets solutions - ERP, CRM systems etc. They are often all the customer needs but these solutions are usually expensive for small businesses or are not flexible enough, "heavy"... Another solution is agile "lazy" development with its maxim to implement the simplest possible solution, which satisfies current customers' needs and which is affordable by customers' finances... And experienced agile development practioner knows how to evolve such minimalist "simple and lazy" solution into more complicated one while refactoring it according to the change requests coming from customers as they are getting more and more experience with this deployed "simplistic" solution... Modern agile solutions differ from past traditional (and even incremental and iterative) way developed software grown from (phased) prototypes by clean streamlined coding, clear software architecture, full acceptance and as full as needed unit test coverage... - all that together with agile development principles quoted here by Eric in another message make agile solution promptly ready for any future changes not only for expected ones. And without additional efforts to foresee these future changes. One can say that there is no miracles and "free cheese" in this world - yes, I agree. Where then agile gets time/resources to develop software code and structures "ready for any future changes"? This "additional" time and resources come from proven well organized automated agile software development process. (Many good enough agile software development process automation tools are free.) One of the "side effects: of this well organized process is that agile developers are spending a way less time in debug mode. And everybody knows that debugging/fixing bugs may take 80% of software development (I mean its coding part) and that debugging is one of the toughest, less predictable and most "unattractive" activities of software development. Is here anybody who likes to spend hours in debugging mode? I doubts that (I can be wrong). Yes, creating child table takes a little but we are talking here not about this simple case but about the difference of agile development and traditional "right" development: Agile is ready to embrace *any* future changes and it handles these changes with courage and fun, "right" development is trying to foresee future changes - it often wastes resources by over engineering, it's followed by "hatred and fear" of future changes because its attempts to foresee these future changes often fail... Gustav, I "have been there seen that" - I mean "right" development. And as I noted before I'm still there in many projects but I'm also doing (trying to do) other projects using (part of) agile approaches - and I see how well they work - how they result in fun and courage and how they wash out "fear and hatred"... My postings in this thread is an exchange of ideas I currently explore to find all "pro" and "contra" and to elaborate my own approach but mainly based on agile principles for most of the future projects I will work on - I have no doubt that agile principles will rule in the near future software development.. Your turn now. Thanks you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:24 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 16:58:44 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 01:58:44 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <00a901c79176$167d0910$657aa8c0@m6805> Message-ID: <000101c791bc$0d37fa40$6401a8c0@nant> <<< It appears to me that Agile Development is a concept, not a platform. >>> Yes, it's John, but some techniques/development methodologies as: - unit testing; - teamwork; - code refactoring (to software design patterns); - software configuration management; - continuous integration; - ... These are relatively easy to implement using Java, C# or VB.NET 2005 or C++/CLI. And there are ready to use free, inexpensive or quite expensive tools - whatever a software shop and/or customer can afford... It needs (much) more efforts to use these techniques in MS Access VBA. And there is no agile tools mentioned above for MS Access and MS Access VBA. It's possible to develop such tools but who will do that? (Hey, MS, are you here - do you hear us? We need such tools!...) And what for to develop them when VS2005 is here and more development power, agility and RAD is coming with every new release on VS? Have a look at BindingSource and BidningNavigator and DataGridView pre-built controls - these are a way more powerful than what can be done with bound forms in MS Access... I have to admit that MS Access is finally "arrived" at where it was originally positioned - powertool for power users... Just my opinion, I can be wrong. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Shamil, >I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Some of the principles behind the Agile Manifesto are: * Customer satisfaction by rapid, continuous delivery of useful software * Working software is delivered frequently (weeks rather than months) * Working software is the principal measure of progress * Even late changes in requirements are welcomed * Close, daily, cooperation between business people and developers * Face-to-face conversation is the best form of communication * Projects are built around motivated individuals, who should be trusted * Continuous attention to technical excellence and good design * Simplicity * Self-organizing teams * Regular adaptation to changing circumstances I do not see anything in there about a specific agile development platform. It appears to me that Agile Development is a concept, not a platform. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 9:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 askolits at ot.com Tue May 8 17:02:47 2007 From: askolits at ot.com (John Skolits) Date: Tue, 8 May 2007 18:02:47 -0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <00a801c791bc$9d05ca30$0f01a8c0@officexp> Mark, I've been kind-of following this thread and thought I'd share my code with you. It may not help you with what you're doing, but it's a slightly different approach. I use an Excel sheet as a template to do some of my formatting. I open it, use the CopyFromRecordset function to paste the data into Excel, then do a "Save AS". The nice thing about the template is you can make a formatting change to it instead of having to do it in the code. There will probably be some need to still do some vba-code formatting of the spreadsheet, but this can cut down on some of the coding. Note: You can't paste the code below and run it because I cut it up a little to make it more succinct, but it may give you some other ideas. I also have some error trapping codes at the end that may help. John ---- Private Sub btnExportToExcelX() On Error GoTo Err_btnExportToExcel Dim objXLBook As Excel.Workbook Dim rsFinalBidQuery As dao.Recordset, varResults As Variant Dim objXLRange As Excel.Range, objXLApp As Excel.Application Dim objResultsSheet As Excel.Worksheet Dim intMaxCol As Integer Dim intMaxRow As Integer Dim strExportFilename As String, strFullXLTemplateFilename As String strExportFilename =TestWorkbook.xls" strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" Set objXLBook = GetObject(strFullXLTemplateFilename) Set objXLApp = objXLBook.Parent Set objResultsSheet = objXLBook.Worksheets(1) Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") rsFinalBidQuery.MoveLast rsFinalBidQuery.MoveFirst '*Store the data in the worksheet intMaxCol = rsFinalBidQuery.Fields.Count If rsFinalBidQuery.RecordCount > 0 Then intMaxRow = rsFinalBidQuery.RecordCount With objXLApp With objResultsSheet .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + intMaxCol)).CopyFromRecordset rsFinalBidQuery End With End With End If rsFinalBidQuery.Close 'Add some values to specific defined cells objResultsSheet.Range("PartNum").Value = "PN# 1234" objResultsSheet.Range("PartDesc").Value = "Description" objXLBook.Parent.Windows(objXLBook.Name).Visible = True 'Save it as a new name objXLBook.SaveAs strExportFilename objXLApp.Visible = True ' Release the object variable Set objXLBook = Nothing BuildXLBidReport_EXIT: Set rsFinalBidQuery = Nothing DoCmd.Hourglass False DoCmd.Echo True Exit Sub BuildXLBidReport_ERR: 'If user picks to cancel the opening of the worksheet because of the excel macro message this error occurs If Err = 287 Then Resume BuildXLBidReport_EXIT If Err = 70 Then MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't alreday open.", 64, "Excel Sheet Open" Resume BuildXLBidReport_EXIT End If If Err = 1004 Then MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't alreday open.", 64, "Excel Sheet Open" objXLBook.Application.Quit ' Release the object variable Set objXLBook = Nothing Resume BuildXLBidReport_EXIT End If 'Display the error Dim strCallingObject As String strCallingObject = "BuildXLBidReport" & " " & Application.CurrentObjectName & " Line: " & Erl lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) Resume BuildXLBidReport_EXIT Dim oApp As Object Set oApp = CreateObject("Excel.Application") oApp.Visible = True 'Only XL 97 supports UserControl Property On Error Resume Next oApp.UserControl = True Exit_btnExportToExcel: Exit Sub Err_btnExportToExcel: MsgBox Err.Description Resume Exit_btnExportToExcel End Sub From accessd at shaw.ca Tue May 8 17:20:17 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 08 May 2007 15:20:17 -0700 Subject: [AccessD] Redeem your voucher In-Reply-To: <011e01c791b2$32acf370$657aa8c0@m6805> Message-ID: <0JHQ000LLTUKKDX0@l-daemon> Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <001401c791bf$cf81f490$6401a8c0@nant> <<< knowing you'll have to put more time into changing it later. >>> Charlotte, the point is that it's unclear will that "wrong" design be needed to change later. And even if it will be needed to change it it's not necessary it will take more efforts to change this "wrong" design to the "right" one. And even if it will take more efforts customer will be less reluctant to pay for these efforts because he will know for sure (from your simple explanations based on his current real (automated) business facts') he needs these changes now (but he didn't need them yesterday)... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 08, 2007 7:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <29f585dd0705080717l519fc8b8y42ede2fbe7d187da@mail.gmail.com> Message-ID: <001501c791bf$cfe87e90$6401a8c0@nant> Hi Arthur, Using MS SQL on middle-/business tier as a separate physical server instance could be needed for the "heavy" business tasks: e.g. (reporting) stored procedures using large temp tables, cursors, XML etc. (Partially) separating business tier lets to keep data tier working effectively in this case. Middle tier "Miss Middleton" is an abstraction layer. I didn't say in this thread that this "Miss Middleton" should be completely moved to a separate MS SQL Server instance nor did I say developers should program directly against database tables.... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 08, 2007 6:17 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable There is no requirement for the middle tier to have a new instance of SQL. In fact I have no idea how you arrived at that thought. The general thinking behind 3-tier architecture is this: 1. client has minimal hardware and minimal installation. Client software has no idea where the database lives, and speaks only to Miss Middleton. 2. Miss Middleton treats all her clients as equally worthless, but does translate their requests into requests from the database, whose address only Miss Middleton knows. 3. The database developers are free to rewite any sprocs and UDFs and views as they please, so long as Miss Middleton is undisturbed. They can even redesign tables, since any good designer forbids direct access to tables. So middle-tier Miss Middleton controls every access to every table, whether it be through a sproc or udf or view or materialized view. Arthur On 5/8/07, Gustav Brock wrote: > > Hi Shamil > > I must believe you here as I haven't done much programming in SQL Server > and you have so much more experience in this area. > However, to me a middle-tier can be made from anything that fits the > purpose, and if that calls for another instance of SQL Server, that's fine > with me. Actually, it sounds like it could be a very clever solution. > > /gustav > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Tue May 8 17:25:40 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 02:25:40 +0400 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: Message-ID: <001601c791bf$d01cd500$6401a8c0@nant> Hi Gustav, Yes, middle/business tier can be done from anything that fits the purpose - and here I'd try to use MS SQL middle-tier/business server first of all to see how good/bad it fits this purpose, if it doesn't fit the purpose well then I'd use other MS development tools s Visual Studio... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 5:55 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil I must believe you here as I haven't done much programming in SQL Server and you have so much more experience in this area. However, to me a middle-tier can be made from anything that fits the purpose, and if that calls for another instance of SQL Server, that's fine with me. Actually, it sounds like it could be a very clever solution. /gustav >>> shamil at users.mns.ru 08-05-2007 12:34 >>> Hi Gustav, <<< Also, I have the opinion that only very basic programming should be carried out in the database server itself >>> We definitely are on the very "different sides of barricades here" :) I'd put as much as possible programming on server side. And if talking about middle/business tier then for MS SQL that would have been just another (and another etc. if needed) MS SQL server using attached data-tier MS SQL Server database and only when absolutely not possible or very expensive to use T-SQL for middle-toer/business logic programming then I'd use programmatic middle tier objects... <<< It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. >>> Well, you're talking about different database engines - I rely on just one MS SQL Server. My reason is that solutions keeping as much as possible programming on server side are by definition more reactive and scalable. If system reaction and relatively inexpensive scaling isn't an issue with your solution then you can set as the main goal supporting of different backend database engines but again the high cost of this goal would be less reactive and often not scalable at all solution or scalable but resulting in many versions of the same functionality for different usage scenarios/"scaling factors" - "support nightmare" will be there anyway... "Never believe Microsoft" I know - if they change the rules of the game (I doubt it happens now because IMO they are changing to the better) with MS SQL ("skyrocket"/set prices even on MS SQL Express) then MS SQL based solutions can be relatively inexpensively ported to other back-end... And I evaluate MS SQL together with Visual Studio 2005 as the most powerful well integrated modern application development platform allowing to considerably cut costs and time on application development - and the savings from these cuttings of development costs can be used by customers to purchase MS SQL licenses... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 12:46 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil On a general note, I think a DBA should stay so - this may certainly be a full-time job on its own. Also, I have the opinion that only very basic programming should be carried out in the database server itself - like triggers for creating special keys or maintaining materialized views and so on. I know that fancy things can be done but should you need that outside the frontend, create a middle tier. One strong reason for this is maintenance if this is for an app that is deployed in many places. It is a nightmare to keep track of the different combinations of the backend (the db server engine) versions and the frontend versions. And DBAs hate to be involved in this, so you will have to create utilities to perform the updates of the backend automatically. It can be done, of course, but it is more work for you. It could be interesting to learn how other listers take hand of this? Charlotte's system is a three-tier system if I recall correctly. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Tue May 8 17:48:25 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 8 May 2007 15:48:25 -0700 Subject: [AccessD] Lazy, or Agile: that is the question... - Was Re:When to UseaJunctionTable In-Reply-To: <001401c791bf$cf81f490$6401a8c0@nant> References: <001401c791bf$cf81f490$6401a8c0@nant> Message-ID: Shamil, We'll have to agree to disagree on this. I understand what you're saying and I've read books on RAD and agile development. My experience tells me that clients get more, not less demanding, the faster you get them an application, and the changes so blithely dismissed as "no problem" become big problems if you didn't plan for them. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 3:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< knowing you'll have to put more time into changing it later. >>> Charlotte, the point is that it's unclear will that "wrong" design be needed to change later. And even if it will be needed to change it it's not necessary it will take more efforts to change this "wrong" design to the "right" one. And even if it will take more efforts customer will be less reluctant to pay for these efforts because he will know for sure (from your simple explanations based on his current real (automated) business facts') he needs these changes now (but he didn't need them yesterday)... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 08, 2007 7:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I don't think anyone is saying "get it right the first time", Shamil. It's more like "don't build it wrong the first time", knowing you'll have to put more time into changing it later. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Tuesday, May 08, 2007 6:19 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable <<< And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. >>> Yes, John - natural trial'n'error procedure, which I mentioned in one of my first postings of this thread is the key to refactor "wrong" to "right". We do that all the time but we often over engineer trying to "get it right from the first time" and these attempts are becoming more and more expensive and less and less productive (correct) because of modern software getting more and more complicated and because of customers' change requests getting more and more changing and tricky... If we will continue trying to "get it right from the first time" then the software development crisis of the last 30 years will never be effectively solved... Agile development methodology gives practical answers how to overcome this crisis... As for MS Access professional developers (and my being one of such developers for the last 10+ years) - I must say in my opinion MS Access can't be considered as true agile development platform because of the lack of true OO language and because of its limited and inflexible options of binding of forms and reports: hopefully next MS Access versions will propose more options here... Still MS Access of course can be effectively used to solve many application development tasks... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 4:19 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable I cannot speak for Shamil but I believe that he is trying to stress that the OLD way (months of meetings to pound out a spec detailed down to the last screen shot and placement of every text box) is simply not optimum, and to this I agree. It is my belief that the concept of Agile programming is to develop enough to let the client start using it, get feedback as you develop more pieces, fix bugs, modify the specification as the client realizes that things don't really work the way they thought etc. I also think that most of us using Access as a tool do Agile Development simply because of the environment that we work in, "gotta have something NOW to work with even if it is not optimum". And I do believe in doing it "right" where "right" can be ascertained and "right" will not set the project back by weeks or months. And then there are times when "wrong" is a necessary step on the way to "right". I can't count the times I have done a "get them something to work with" step because "right" would simply take longer than they have. And then I usually end up going back and replacing "wrong" with "right" when things slow down and I have time to breath. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 08, 2007 4:24 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Lazy,or Agile: that is the question... - Was Re:When to UseaJunctionTable Hi Shamil Charlotte can certainly speak for herself, but I think she wishes to stress that doing it right the first time is optimum. And "right" - in my opinion - is always to be a little ahead of the client. Your experience will tell what the client's next step/wish could be, and then you program to be prepared. To create a child table takes so little time for us so if I can foresee it will be needed later, I just create it. What's more important is, that some clients regard you as "the expert" and they expect you to be ahead of their minds and to suggest possible improvements to their specifications. I'm quite sure that this is the way you - and probably most of our fellow listers - actually operate, so it is more a comment on the lazy "just create in the fastest possible way what the client exactly requests without a glimse on the future". /gustav >>> shamil at users.mns.ru 07-05-2007 18:35 >>> Charlotte, That would have been great if we have been able to develop a database model, a software functionality,... once then deliver it and then forget it... But "the only constant thing in the modern software development is the constant change"... -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Tue May 8 19:21:17 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Tue, 8 May 2007 20:21:17 -0400 Subject: [AccessD] Interesting for you kung fu masters? Message-ID: <000201c791cf$f7351f20$657aa8c0@m6805> www.sql-server-performance.com/vg_database_comparison_sp.asp John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Tue May 8 19:37:43 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 08 May 2007 17:37:43 -0700 Subject: [AccessD] Interesting for you kung fu masters? In-Reply-To: <000201c791cf$f7351f20$657aa8c0@m6805> Message-ID: <0JHR0060H07KFFE0@l-daemon> This is similar to the Backend-Upgrader at the DBA site (http://www.databaseadvisors.com/downloads.asp) but works for MS SQL server instead of MS Access. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 5:21 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] Interesting for you kung fu masters? www.sql-server-performance.com/vg_database_comparison_sp.asp John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kismert at gmail.com Tue May 8 19:47:15 2007 From: kismert at gmail.com (Kenneth Ismert) Date: Tue, 8 May 2007 19:47:15 -0500 Subject: [AccessD] Lazy,or Agile: that is the question... Message-ID: <7c7841600705081747v6b1cc445pdd56bd1f243384b2@mail.gmail.com> A good idea, poorly implemented, will often beat out a bad idea, properly implemented. Things can be badly done, even shockingly so, and still work. We've all seen Access applications that exemplify this. Take MySpace.com. It started out as a LAMP solution, but went through 6 major rewrites to become a ASP.NET/SQL Server 2005 solution. Now was the data on the MySpaces' initial LAMP solution properly normalized? Very likely so. In fact, intermediate iterations of the site intentionally de-normalized data in an attempt to gain performance. This worked to a point, but the problems that caused a shift back to a much more sophisticated normalization in their latest versions. Would MySpace have succeeded if they went for Version 6 right out of the gate? No. They would have run out of money first. Besides, Version 6 was only possible due to the insights gained from Versions 1-5. Would MySpace have succeeded if they took foolish shortcuts? Probably not. MySpace worked because of top-notch computer science. They had too many real problems to deal with to afford to make extra ones on their own. I think the point of Agile Development is: you don't know the road ahead. Implement the next step as competently and quickly as you can. Don't create unnecessary baggage, it will only slow you down. Use the insights gained on your previous step to better plan your next. -Ken From kismert at gmail.com Tue May 8 19:53:46 2007 From: kismert at gmail.com (Kenneth Ismert) Date: Tue, 8 May 2007 19:53:46 -0500 Subject: [AccessD] SQL Server - Turning comparisons into Booleans Message-ID: <7c7841600705081753q753476cfhffd320c8b1237c7f@mail.gmail.com> SQL Server can't cast a boolean expression into a boolean type. That's because SQL Server doesn't really have a boolean data type (at least as of SQL 2000). Use a case statement, and return 1 for True, and 0 for False: CASE WHEN SomeField <=10 THEN 1 ELSE 0 END As MyAlias -Ken > In Access you can do something like: > > MyAlias: [SomeField] <=10 > > Which translates into SQL that looks like: > > [SomeField]<=10 as MyAlias > > When I try move that (cut and paste) from Access into SQL Server I get a the > infamous "syntax error somewhere near <" > > Question 1: What is wrong with that in SQL Server > Question 2: How do I accomplish this directly in the query builder in SQL > Server? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From shamil at users.mns.ru Wed May 9 03:24:15 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 12:24:15 +0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <001201c79213$6e3eecc0$6401a8c0@nant> Hello Mark, Below is the first version of function to merge workbooks (watch line wraps!). Enhancements to this code might follow today/tomorrow... Sample call: ============ MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" Code: ===== Public Function MergeWorkbooks( _ ByRef rxlApp As Object, _ ByVal vstrSummaryWbkFileName As String, _ ByVal vstrFolder As String, _ ParamArray avar() As Variant) As Boolean ' This function merges *FIRST* worksheet of every ' workbook, which filename is specified in ' avar() ParamArray and which are located in ' vstrFolder folder. ' Merged workbook is saved into the folder of the ' source workbooks vstrFolder and this merged ' workbook gets the filename vstrSummaryWbkFileName On Error GoTo HandleErr Dim wbk As Excel.Workbook Dim wbkImp As Excel.Workbook Dim impWbkFullPath As String Dim mergeWbkFullPath As String Dim evar As Variant Dim i As Integer ' Check that source workbooks list is not empty If UBound(avar) = -1 Then Err.Raise vbObjectError + 1, "MergeWorkbooks", _ "The list of workbooks to merge is empty." End If ' If absent add backslash to folder name If Len(vstrFolder) > 0 Then If Right(vstrFolder, 1) <> "\" Then _ vstrFolder = vstrFolder & "\" End If ' Create new workbook Set wbk = rxlApp.Workbooks.Add ' Delete all but the first worksheet in this new workbook For i = wbk.Worksheets.Count To 2 Step -1 rxlApp.DisplayAlerts = False wbk.Worksheets(i).Delete rxlApp.DisplayAlerts = True Next i i = 1 ' Merge source workbooks into summary workbook For Each evar In avar impWbkFullPath = vstrFolder & CStr(evar) Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) wbkImp.Worksheets(1).Cells.Copy If wbk.Worksheets.Count < i Then _ wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) wbk.Worksheets(i).Activate wbk.Worksheets(i).Paste wbk.Worksheets(i).Cells(1, 1).Select rxlApp.DisplayAlerts = False wbkImp.Close rxlApp.DisplayAlerts = True i = i + 1 Next evar wbk.Worksheets(1).Activate mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName ' Delete merged workbook if it already exists If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ Kill mergeWbkFullPath ' Save merged workbook wbk.SaveAs mergeWbkFullPath MergeWorkbooks = True HandleExit: Exit Function HandleErr: MergeWorkbooks = False MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description Resume HandleExit End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 12:53 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks Michael, I actually got the formatting like I needed. I'm just having issues getting the worksheets into 1 workbook. Thanks, Mark A. Matte >From: "Michael R Mattys" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 13:58:26 -0400 > >Mark, > >You could put most of your formatting in an xlt, but it's going >to take a bit of fancy automation to replicate your report. > >Michael R. Mattys >MapPoint & Access Dev >www.mattysconsulting.com > >----- Original Message ----- >From: "Mark A Matte" >To: >Sent: Tuesday, May 08, 2007 12:55 PM >Subject: Re: [AccessD] Report to Excel_ > > > > Thanks Jim, > > > > I need to export a report because of the conditional formatting. > > TransferSpreadsheet won't work with reports. > > > > Any thoughts? > > > > Thanks, > > > > Mark A. Matte > > > > > >>From: "Jim Hewson" > >>Reply-To: Access Developers discussion and problem > >>solving > >>To: "Access Developers discussion and problem > >>solving" > >>Subject: Re: [AccessD] Report to Excel > >>Date: Mon, 7 May 2007 16:27:24 -0500 > >> > >>Mark, > >>I do this frequently. In one export I end up with 15 worksheets and > >>manipulate the date in Excel via Access. > >> > >>I would use TransferSpreadsheet instead of what you have. > >>Also, put Set appExcel = New Excel.Application before the > >>TransferSpreadsheet command. > >> > >>If you use something like: > >> > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, True > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, True > >> > >>It will export to separate spreadsheets. > >> > >>HTH > >> > >>Jim > >>jhewson at karta.com > >> > >> > >>-----Original Message----- > >>From: accessd-bounces at databaseadvisors.com > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >>Sent: Monday, May 07, 2007 4:00 PM > >>To: accessd at databaseadvisors.com > >>Subject: [AccessD] Report to Excel > >> > >>Hello All, > >> > >>I found the code below in the archives from Jim Hale...Anyway to use >this > >>approach but to have 2 reports go to the same workbook...just different > >>tabs? > >> > >>Thanks, > >> > >>Mark A. Matte > >> > >>*********Code From Jim**************** > >>Sub rpt_to_excel() > >>Dim appExcel As Excel.Application, strpathname As String Dim strpathnew > >>As String, strReport As String > >> > >>strpathname = "C:\test.xls" > >>strpathnew = "C:\test2.xls" > >>strReport = "rptInvsummary" > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > >> > >>Set appExcel = New Excel.Application > >> > >>'format your report > >> With appExcel > >> .Workbooks.Open strpathname, 0 > >> .Visible = True 'just to watch the sheet > >> .Range("A1:G1").Select > >> .Selection.Font.Bold = True > >> .Selection.Font.Name = "Arial" > >> .Selection.Font.Size = 12 > >> .ActiveWorkbook.SaveAs >Filename:=strpathnew,FileFormat:=xlNormal > >> End With > >> appExcel.Quit > >> Set appExcel = Nothing > >>End Sub > >> > >>_________________________________________________________________ > >>Download Messenger. Join the i'm Initiative. Help make a difference >today. > >>http://im.live.com/messenger/im/home/?source=TAGHM_APR07 > >> > >> > >>-- > >>AccessD mailing list > >>AccessD at databaseadvisors.com > >>http://databaseadvisors.com/mailman/listinfo/accessd > >>Website: http://www.databaseadvisors.com > > > > _________________________________________________________________ > > Make every IM count. Download Messenger and join the i'm Initiative now. > > It's free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 > > > > > > >--------------------------------------------------------------------------- ----- > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storageget 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_2G_0507 From Gustav at cactus.dk Wed May 9 05:36:00 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 09 May 2007 12:36:00 +0200 Subject: [AccessD] Lazy,or Agile: that is the question... Message-ID: Hi Ken and Shamil My problem is that I don't need to label this "agile". Isn't it what most of us just call common sense? So, am I an agile Access developer? Would love that: G. Brock Agile AD That could compete with Arthur's "SQL Sensei" which sounds a bit grey-haired (which I, by the way, am). Oh! It isn't Friday yet? /gustav >>> kismert at gmail.com 09-05-2007 02:47 >>> I think the point of Agile Development is: you don't know the road ahead. Implement the next step as competently and quickly as you can. Don't create unnecessary baggage, it will only slow you down. Use the insights gained on your previous step to better plan your next. -Ken From lmrazek at lcm-res.com Wed May 9 09:23:07 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 9 May 2007 09:23:07 -0500 Subject: [AccessD] Stupid Report Question In-Reply-To: <001201c79213$6e3eecc0$6401a8c0@nant> References: <001201c79213$6e3eecc0$6401a8c0@nant> Message-ID: <003101c79245$90cfba80$046fa8c0@lcmdv8000> Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From markamatte at hotmail.com Wed May 9 09:26:12 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 14:26:12 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <00a801c791bc$9d05ca30$0f01a8c0@officexp> Message-ID: Thanks John, I got the formatting the way I needed it...I used the report to determine what order the columns would be in...and then changed the font,color,etc in excel. Now I just need to get the sheets into a single workbook. Thanks, Mark >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 18:02:47 -0400 > >Mark, > >I've been kind-of following this thread and thought I'd share my code with >you. >It may not help you with what you're doing, but it's a slightly different >approach. >I use an Excel sheet as a template to do some of my formatting. I open it, >use the CopyFromRecordset function to paste the data into Excel, then do a >"Save AS". The nice thing about the template is you can make a formatting >change to it instead of having to do it in the code. There will probably be >some need to still do some vba-code formatting of the spreadsheet, but this >can cut down on some of the coding. > >Note: You can't paste the code below and run it because I cut it up a >little >to make it more succinct, but it may give you some other ideas. I also have >some error trapping codes at the end that may help. > >John >---- > > >Private Sub btnExportToExcelX() > >On Error GoTo Err_btnExportToExcel > >Dim objXLBook As Excel.Workbook >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >Dim objResultsSheet As Excel.Worksheet >Dim intMaxCol As Integer >Dim intMaxRow As Integer >Dim strExportFilename As String, strFullXLTemplateFilename As String > >strExportFilename =TestWorkbook.xls" >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > >Set objXLBook = GetObject(strFullXLTemplateFilename) >Set objXLApp = objXLBook.Parent >Set objResultsSheet = objXLBook.Worksheets(1) > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > rsFinalBidQuery.MoveLast > rsFinalBidQuery.MoveFirst > > '*Store the data in the worksheet > intMaxCol = rsFinalBidQuery.Fields.Count > If rsFinalBidQuery.RecordCount > 0 Then > intMaxRow = rsFinalBidQuery.RecordCount > With objXLApp > With objResultsSheet > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >intMaxCol)).CopyFromRecordset rsFinalBidQuery > End With > End With > End If > >rsFinalBidQuery.Close > >'Add some values to specific defined cells >objResultsSheet.Range("PartNum").Value = "PN# 1234" >objResultsSheet.Range("PartDesc").Value = "Description" > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > >'Save it as a new name >objXLBook.SaveAs strExportFilename >objXLApp.Visible = True > >' Release the object variable >Set objXLBook = Nothing > >BuildXLBidReport_EXIT: >Set rsFinalBidQuery = Nothing > >DoCmd.Hourglass False >DoCmd.Echo True > >Exit Sub > >BuildXLBidReport_ERR: > >'If user picks to cancel the opening of the worksheet because of the excel >macro message this error occurs >If Err = 287 Then Resume BuildXLBidReport_EXIT > >If Err = 70 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > Resume BuildXLBidReport_EXIT >End If >If Err = 1004 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > objXLBook.Application.Quit > ' Release the object variable > Set objXLBook = Nothing > Resume BuildXLBidReport_EXIT >End If > >'Display the error > > Dim strCallingObject As String > strCallingObject = "BuildXLBidReport" & " " & >Application.CurrentObjectName & " Line: " & Erl > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > Resume BuildXLBidReport_EXIT > > Dim oApp As Object > > Set oApp = CreateObject("Excel.Application") > oApp.Visible = True > 'Only XL 97 supports UserControl Property > On Error Resume Next > oApp.UserControl = True > >Exit_btnExportToExcel: > Exit Sub > >Err_btnExportToExcel: > MsgBox Err.Description > Resume Exit_btnExportToExcel > >End Sub > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From ssharkins at setel.com Wed May 9 09:34:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 10:34:58 -0400 Subject: [AccessD] Stupid Report Question In-Reply-To: <003101c79245$90cfba80$046fa8c0@lcmdv8000> References: <001201c79213$6e3eecc0$6401a8c0@nant> <003101c79245$90cfba80$046fa8c0@lcmdv8000> Message-ID: <001901c79247$39159ec0$1ebc2ad1@SusanOne> The label wizard allows you to create a custom label, have you tried that? Susan H. Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... From markamatte at hotmail.com Wed May 9 09:37:18 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 14:37:18 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <001201c79213$6e3eecc0$6401a8c0@nant> Message-ID: Thanks Shamil, The sample call failed...because variable not defined"xlApp". Do I Dim it as excel.application? Thanks, Mark A. Matte P.S...They are using office97. >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 12:24:15 +0400 > >Hello Mark, > >Below is the first version of function to merge workbooks (watch line >wraps!). > >Enhancements to this code might follow today/tomorrow... > >Sample call: >============ >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > >Code: >===== > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Excel.Workbook >Dim wbkImp As Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.Worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.Worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.Worksheets(1).Cells.Copy > If wbk.Worksheets.Count < i Then _ > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > wbk.Worksheets(i).Activate > wbk.Worksheets(i).Paste > wbk.Worksheets(i).Cells(1, 1).Select > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.Worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit >End Function > > >-- >Shamil > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 12:53 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Michael, > >I actually got the formatting like I needed. I'm just having issues >getting > >the worksheets into 1 workbook. > >Thanks, > >Mark A. Matte > > > >From: "Michael R Mattys" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > >Mark, > > > >You could put most of your formatting in an xlt, but it's going > >to take a bit of fancy automation to replicate your report. > > > >Michael R. Mattys > >MapPoint & Access Dev > >www.mattysconsulting.com > > > >----- Original Message ----- > >From: "Mark A Matte" > >To: > >Sent: Tuesday, May 08, 2007 12:55 PM > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > Thanks Jim, > > > > > > I need to export a report because of the conditional formatting. > > > TransferSpreadsheet won't work with reports. > > > > > > Any thoughts? > > > > > > Thanks, > > > > > > Mark A. Matte > > > > > > > > >>From: "Jim Hewson" > > >>Reply-To: Access Developers discussion and problem > > >>solving > > >>To: "Access Developers discussion and problem > > >>solving" > > >>Subject: Re: [AccessD] Report to Excel > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > >> > > >>Mark, > > >>I do this frequently. In one export I end up with 15 worksheets and > > >>manipulate the date in Excel via Access. > > >> > > >>I would use TransferSpreadsheet instead of what you have. > > >>Also, put Set appExcel = New Excel.Application before the > > >>TransferSpreadsheet command. > > >> > > >>If you use something like: > > >> > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, >True > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, >True > > >> > > >>It will export to separate spreadsheets. > > >> > > >>HTH > > >> > > >>Jim > > >>jhewson at karta.com > > >> > > >> > > >>-----Original Message----- > > >>From: accessd-bounces at databaseadvisors.com > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A >Matte > > >>Sent: Monday, May 07, 2007 4:00 PM > > >>To: accessd at databaseadvisors.com > > >>Subject: [AccessD] Report to Excel > > >> > > >>Hello All, > > >> > > >>I found the code below in the archives from Jim Hale...Anyway to use > >this > > >>approach but to have 2 reports go to the same workbook...just >different > > >>tabs? > > >> > > >>Thanks, > > >> > > >>Mark A. Matte > > >> > > >>*********Code From Jim**************** > > >>Sub rpt_to_excel() > > >>Dim appExcel As Excel.Application, strpathname As String Dim >strpathnew > > >>As String, strReport As String > > >> > > >>strpathname = "C:\test.xls" > > >>strpathnew = "C:\test2.xls" > > >>strReport = "rptInvsummary" > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > >> > > >>Set appExcel = New Excel.Application > > >> > > >>'format your report > > >> With appExcel > > >> .Workbooks.Open strpathname, 0 > > >> .Visible = True 'just to watch the sheet > > >> .Range("A1:G1").Select > > >> .Selection.Font.Bold = True > > >> .Selection.Font.Name = "Arial" > > >> .Selection.Font.Size = 12 > > >> .ActiveWorkbook.SaveAs > >Filename:=strpathnew,FileFormat:=xlNormal > > >> End With > > >> appExcel.Quit > > >> Set appExcel = Nothing > > >>End Sub > > >> _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From shamil at users.mns.ru Wed May 9 10:15:49 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Wed, 9 May 2007 19:15:49 +0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <000c01c7924c$ed5551f0$6401a8c0@nant> Hi Mark, Here is the code to call from MS Access, which shouldn't fail (watch line wraps!): Option Explicit Public Sub TestXLMerge() Dim strPathName As String Dim strReport As String Dim xlApp As Object 'Excel.Application strPathName = AppPath & "test01.xls" strReport = "rptInvSummary" Access.Application.DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strPathName strPathName = AppPath & "test02.xls" strReport = "rptInvNewSummary" Access.Application.DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strPathName Set xlApp = CreateObject("Excel.Application") MergeWorkbooks xlApp, "MergedBooks.xls", AppPath, "test01.xls", "test02.xls" xlApp.Quit Set xlApp = Nothing End Sub Public Function MergeWorkbooks( _ ByRef rxlApp As Object, _ ByVal vstrSummaryWbkFileName As String, _ ByVal vstrFolder As String, _ ParamArray avar() As Variant) As Boolean ' This function merges *FIRST* worksheet of every ' workbook, which filename is specified in ' avar() ParamArray and which are located in ' vstrFolder folder. ' Merged workbook is saved into the folder of the ' source workbooks vstrFolder and this merged ' workbook gets the filename vstrSummaryWbkFileName On Error GoTo HandleErr Dim wbk As Object 'Excel.Workbook Dim wbkImp As Object 'Excel.Workbook Dim impWbkFullPath As String Dim mergeWbkFullPath As String Dim evar As Variant Dim i As Integer ' Check that source workbooks list is not empty If UBound(avar) = -1 Then Err.Raise vbObjectError + 1, "MergeWorkbooks", _ "The list of workbooks to merge is empty." End If ' If absent add backslash to folder name If Len(vstrFolder) > 0 Then If Right(vstrFolder, 1) <> "\" Then _ vstrFolder = vstrFolder & "\" End If ' Create new workbook Set wbk = rxlApp.Workbooks.Add ' Delete all but the first worksheet in this new workbook For i = wbk.worksheets.Count To 2 Step -1 rxlApp.DisplayAlerts = False wbk.worksheets(i).Delete rxlApp.DisplayAlerts = True Next i i = 1 ' Merge source workbooks into summary workbook For Each evar In avar impWbkFullPath = vstrFolder & CStr(evar) Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) wbkImp.worksheets(1).Cells.Copy If wbk.worksheets.Count < i Then _ wbk.worksheets.Add After:=wbk.worksheets(i - 1) wbk.worksheets(i).Activate wbk.worksheets(i).Paste wbk.worksheets(i).Cells(1, 1).Select wbk.worksheets(i).Name = getUniqueName(wbkImp, 1, wbk) rxlApp.DisplayAlerts = False wbkImp.Close rxlApp.DisplayAlerts = True i = i + 1 Next evar wbk.worksheets(1).Activate mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName ' Delete merged workbook if it already exists If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ Kill mergeWbkFullPath ' Save merged workbook wbk.SaveAs mergeWbkFullPath ' Close workbook wbk.Close SaveChanges:=False Set wbk = Nothing MergeWorkbooks = True HandleExit: Exit Function HandleErr: MergeWorkbooks = False MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description Resume HandleExit Resume End Function Private Property Get AppPath() As String AppPath = Access.Application.CurrentProject.Path & "\" End Property Private Function getUniqueName( _ ByRef rwbkImp As Object, _ ByVal impWbkWksIndex As Integer, _ ByVal rwbkDst As Object) _ As String On Error Resume Next Dim strWksName As String Dim wks As Object Dim i As Integer strWksName = rwbkImp.worksheets(impWbkWksIndex).Name Set wks = rwbkDst.worksheets(strWksName) If wks Is Nothing Then getUniqueName = strWksName Exit Function End If i = 1 Do Set wks = rwbkDst.worksheets(strWksName & "_" & CStr(i)) Loop Until Not wks Is Null getUniqueName = strWksName & "_" & CStr(i) End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 6:37 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks Shamil, The sample call failed...because variable not defined"xlApp". Do I Dim it as excel.application? Thanks, Mark A. Matte P.S...They are using office97. >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 12:24:15 +0400 > >Hello Mark, > >Below is the first version of function to merge workbooks (watch line >wraps!). > >Enhancements to this code might follow today/tomorrow... > >Sample call: >============ >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > >Code: >===== > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Excel.Workbook >Dim wbkImp As Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.Worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.Worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.Worksheets(1).Cells.Copy > If wbk.Worksheets.Count < i Then _ > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > wbk.Worksheets(i).Activate > wbk.Worksheets(i).Paste > wbk.Worksheets(i).Cells(1, 1).Select > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.Worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit >End Function > > >-- >Shamil > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 12:53 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Michael, > >I actually got the formatting like I needed. I'm just having issues >getting > >the worksheets into 1 workbook. > >Thanks, > >Mark A. Matte > > > >From: "Michael R Mattys" > >Reply-To: Access Developers discussion and problem > >solving > >To: "Access Developers discussion and problem > >solving" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > >Mark, > > > >You could put most of your formatting in an xlt, but it's going > >to take a bit of fancy automation to replicate your report. > > > >Michael R. Mattys > >MapPoint & Access Dev > >www.mattysconsulting.com > > > >----- Original Message ----- > >From: "Mark A Matte" > >To: > >Sent: Tuesday, May 08, 2007 12:55 PM > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > Thanks Jim, > > > > > > I need to export a report because of the conditional formatting. > > > TransferSpreadsheet won't work with reports. > > > > > > Any thoughts? > > > > > > Thanks, > > > > > > Mark A. Matte > > > > > > > > >>From: "Jim Hewson" > > >>Reply-To: Access Developers discussion and problem > > >>solving > > >>To: "Access Developers discussion and problem > > >>solving" > > >>Subject: Re: [AccessD] Report to Excel > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > >> > > >>Mark, > > >>I do this frequently. In one export I end up with 15 worksheets and > > >>manipulate the date in Excel via Access. > > >> > > >>I would use TransferSpreadsheet instead of what you have. > > >>Also, put Set appExcel = New Excel.Application before the > > >>TransferSpreadsheet command. > > >> > > >>If you use something like: > > >> > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, >True > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, >True > > >> > > >>It will export to separate spreadsheets. > > >> > > >>HTH > > >> > > >>Jim > > >>jhewson at karta.com > > >> > > >> > > >>-----Original Message----- > > >>From: accessd-bounces at databaseadvisors.com > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A >Matte > > >>Sent: Monday, May 07, 2007 4:00 PM > > >>To: accessd at databaseadvisors.com > > >>Subject: [AccessD] Report to Excel > > >> > > >>Hello All, > > >> > > >>I found the code below in the archives from Jim Hale...Anyway to use > >this > > >>approach but to have 2 reports go to the same workbook...just >different > > >>tabs? > > >> > > >>Thanks, > > >> > > >>Mark A. Matte > > >> > > >>*********Code From Jim**************** > > >>Sub rpt_to_excel() > > >>Dim appExcel As Excel.Application, strpathname As String Dim >strpathnew > > >>As String, strReport As String > > >> > > >>strpathname = "C:\test.xls" > > >>strpathnew = "C:\test2.xls" > > >>strReport = "rptInvsummary" > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > >> > > >>Set appExcel = New Excel.Application > > >> > > >>'format your report > > >> With appExcel > > >> .Workbooks.Open strpathname, 0 > > >> .Visible = True 'just to watch the sheet > > >> .Range("A1:G1").Select > > >> .Selection.Font.Bold = True > > >> .Selection.Font.Name = "Arial" > > >> .Selection.Font.Size = 12 > > >> .ActiveWorkbook.SaveAs > >Filename:=strpathnew,FileFormat:=xlNormal > > >> End With > > >> appExcel.Quit > > >> Set appExcel = Nothing > > >>End Sub > > >> _________________________________________________________________ PC Magazines 2007 editors choice for best Web mailaward-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_pcmag_0507 From markamatte at hotmail.com Wed May 9 10:29:52 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 15:29:52 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <000c01c7924c$ed5551f0$6401a8c0@nant> Message-ID: Thanks Shamil, I was just about to email you back. I added a few lines to what you first sent and it worked like a charm. Adding to the call: Dim xlApp As Excel.Application MergeWorkbooks xlApp, "MergedBooks.xls", "C:\", "test.xls", "test1.xls" Adding to the code: ' Create new workbook Set rxlApp = New Excel.Application Also, to release the merged file: rxlApp.Quit And finally to rename the sheets: wbk.Worksheets(i).Name = Left(evar, InStr(1, evar, ".", vbTextCompare) - 1) Thank you very much. This is just what I needed. Mark A. Matte >From: "Shamil Salakhetdinov" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 19:15:49 +0400 > >Hi Mark, > >Here is the code to call from MS Access, which shouldn't fail (watch line >wraps!): > >Option Explicit > >Public Sub TestXLMerge() >Dim strPathName As String >Dim strReport As String >Dim xlApp As Object 'Excel.Application > > strPathName = AppPath & "test01.xls" > strReport = "rptInvSummary" > Access.Application.DoCmd.OutputTo acOutputReport, strReport, >acFormatXLS, strPathName > > strPathName = AppPath & "test02.xls" > strReport = "rptInvNewSummary" > Access.Application.DoCmd.OutputTo acOutputReport, strReport, >acFormatXLS, strPathName > > Set xlApp = CreateObject("Excel.Application") > MergeWorkbooks xlApp, "MergedBooks.xls", AppPath, "test01.xls", >"test02.xls" > xlApp.Quit > Set xlApp = Nothing >End Sub > >Public Function MergeWorkbooks( _ > ByRef rxlApp As Object, _ > ByVal vstrSummaryWbkFileName As String, _ > ByVal vstrFolder As String, _ > ParamArray avar() As Variant) As Boolean >' This function merges *FIRST* worksheet of every >' workbook, which filename is specified in >' avar() ParamArray and which are located in >' vstrFolder folder. >' Merged workbook is saved into the folder of the >' source workbooks vstrFolder and this merged >' workbook gets the filename vstrSummaryWbkFileName >On Error GoTo HandleErr >Dim wbk As Object 'Excel.Workbook >Dim wbkImp As Object 'Excel.Workbook >Dim impWbkFullPath As String >Dim mergeWbkFullPath As String >Dim evar As Variant >Dim i As Integer > ' Check that source workbooks list is not empty > If UBound(avar) = -1 Then > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > "The list of workbooks to merge is empty." > End If > ' If absent add backslash to folder name > If Len(vstrFolder) > 0 Then > If Right(vstrFolder, 1) <> "\" Then _ > vstrFolder = vstrFolder & "\" > End If > ' Create new workbook > Set wbk = rxlApp.Workbooks.Add > ' Delete all but the first worksheet in this new workbook > For i = wbk.worksheets.Count To 2 Step -1 > rxlApp.DisplayAlerts = False > wbk.worksheets(i).Delete > rxlApp.DisplayAlerts = True > Next i > i = 1 > ' Merge source workbooks into summary workbook > For Each evar In avar > impWbkFullPath = vstrFolder & CStr(evar) > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > wbkImp.worksheets(1).Cells.Copy > If wbk.worksheets.Count < i Then _ > wbk.worksheets.Add After:=wbk.worksheets(i - 1) > wbk.worksheets(i).Activate > wbk.worksheets(i).Paste > wbk.worksheets(i).Cells(1, 1).Select > wbk.worksheets(i).Name = getUniqueName(wbkImp, 1, wbk) > rxlApp.DisplayAlerts = False > wbkImp.Close > rxlApp.DisplayAlerts = True > i = i + 1 > Next evar > wbk.worksheets(1).Activate > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > ' Delete merged workbook if it already exists > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > Kill mergeWbkFullPath > ' Save merged workbook > wbk.SaveAs mergeWbkFullPath > ' Close workbook > wbk.Close SaveChanges:=False > Set wbk = Nothing > > MergeWorkbooks = True >HandleExit: > Exit Function >HandleErr: > MergeWorkbooks = False > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & Err.Description > Resume HandleExit > Resume >End Function > >Private Property Get AppPath() As String > AppPath = Access.Application.CurrentProject.Path & "\" >End Property > >Private Function getUniqueName( _ > ByRef rwbkImp As Object, _ > ByVal impWbkWksIndex As Integer, _ > ByVal rwbkDst As Object) _ > As String >On Error Resume Next >Dim strWksName As String >Dim wks As Object >Dim i As Integer > strWksName = rwbkImp.worksheets(impWbkWksIndex).Name > Set wks = rwbkDst.worksheets(strWksName) > If wks Is Nothing Then > getUniqueName = strWksName > Exit Function > End If > i = 1 > Do > Set wks = rwbkDst.worksheets(strWksName & "_" & CStr(i)) > Loop Until Not wks Is Null > getUniqueName = strWksName & "_" & CStr(i) >End Function > > >-- >Shamil > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 6:37 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks Shamil, > >The sample call failed...because variable not defined"xlApp". Do I Dim it >as excel.application? > >Thanks, > >Mark A. Matte > >P.S...They are using office97. > > > >From: "Shamil Salakhetdinov" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Wed, 9 May 2007 12:24:15 +0400 > > > >Hello Mark, > > > >Below is the first version of function to merge workbooks (watch line > >wraps!). > > > >Enhancements to this code might follow today/tomorrow... > > > >Sample call: > >============ > >MergeWorkbooks xlApp, "MergedBooks.xls", "C:\Temp", "one.xls", "two.xls" > > > >Code: > >===== > > > >Public Function MergeWorkbooks( _ > > ByRef rxlApp As Object, _ > > ByVal vstrSummaryWbkFileName As String, _ > > ByVal vstrFolder As String, _ > > ParamArray avar() As Variant) As Boolean > >' This function merges *FIRST* worksheet of every > >' workbook, which filename is specified in > >' avar() ParamArray and which are located in > >' vstrFolder folder. > >' Merged workbook is saved into the folder of the > >' source workbooks vstrFolder and this merged > >' workbook gets the filename vstrSummaryWbkFileName > >On Error GoTo HandleErr > >Dim wbk As Excel.Workbook > >Dim wbkImp As Excel.Workbook > >Dim impWbkFullPath As String > >Dim mergeWbkFullPath As String > >Dim evar As Variant > >Dim i As Integer > > ' Check that source workbooks list is not empty > > If UBound(avar) = -1 Then > > Err.Raise vbObjectError + 1, "MergeWorkbooks", _ > > "The list of workbooks to merge is empty." > > End If > > ' If absent add backslash to folder name > > If Len(vstrFolder) > 0 Then > > If Right(vstrFolder, 1) <> "\" Then _ > > vstrFolder = vstrFolder & "\" > > End If > > ' Create new workbook > > Set wbk = rxlApp.Workbooks.Add > > ' Delete all but the first worksheet in this new workbook > > For i = wbk.Worksheets.Count To 2 Step -1 > > rxlApp.DisplayAlerts = False > > wbk.Worksheets(i).Delete > > rxlApp.DisplayAlerts = True > > Next i > > i = 1 > > ' Merge source workbooks into summary workbook > > For Each evar In avar > > impWbkFullPath = vstrFolder & CStr(evar) > > Set wbkImp = rxlApp.Workbooks.Open(impWbkFullPath) > > wbkImp.Worksheets(1).Cells.Copy > > If wbk.Worksheets.Count < i Then _ > > wbk.Worksheets.Add After:=wbk.Worksheets(i - 1) > > wbk.Worksheets(i).Activate > > wbk.Worksheets(i).Paste > > wbk.Worksheets(i).Cells(1, 1).Select > > rxlApp.DisplayAlerts = False > > wbkImp.Close > > rxlApp.DisplayAlerts = True > > i = i + 1 > > Next evar > > wbk.Worksheets(1).Activate > > > > mergeWbkFullPath = vstrFolder & vstrSummaryWbkFileName > > ' Delete merged workbook if it already exists > > If Len(Dir(mergeWbkFullPath, vbNormal)) Then _ > > Kill mergeWbkFullPath > > ' Save merged workbook > > wbk.SaveAs mergeWbkFullPath > > > > MergeWorkbooks = True > >HandleExit: > > Exit Function > >HandleErr: > > MergeWorkbooks = False > > MsgBox "MergeWorkbooks: Err = " & Err.Number & " - " & >Err.Description > > Resume HandleExit > >End Function > > > > > >-- > >Shamil > > > > > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Wednesday, May 09, 2007 12:53 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Report to Excel_ > > > >Thanks Michael, > > > >I actually got the formatting like I needed. I'm just having issues > >getting > > > >the worksheets into 1 workbook. > > > >Thanks, > > > >Mark A. Matte > > > > > > >From: "Michael R Mattys" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "Access Developers discussion and problem > > >solving" > > >Subject: Re: [AccessD] Report to Excel_ > > >Date: Tue, 8 May 2007 13:58:26 -0400 > > > > > >Mark, > > > > > >You could put most of your formatting in an xlt, but it's going > > >to take a bit of fancy automation to replicate your report. > > > > > >Michael R. Mattys > > >MapPoint & Access Dev > > >www.mattysconsulting.com > > > > > >----- Original Message ----- > > >From: "Mark A Matte" > > >To: > > >Sent: Tuesday, May 08, 2007 12:55 PM > > >Subject: Re: [AccessD] Report to Excel_ > > > > > > > > > > Thanks Jim, > > > > > > > > I need to export a report because of the conditional formatting. > > > > TransferSpreadsheet won't work with reports. > > > > > > > > Any thoughts? > > > > > > > > Thanks, > > > > > > > > Mark A. Matte > > > > > > > > > > > >>From: "Jim Hewson" > > > >>Reply-To: Access Developers discussion and problem > > > >>solving > > > >>To: "Access Developers discussion and problem > > > >>solving" > > > >>Subject: Re: [AccessD] Report to Excel > > > >>Date: Mon, 7 May 2007 16:27:24 -0500 > > > >> > > > >>Mark, > > > >>I do this frequently. In one export I end up with 15 worksheets and > > > >>manipulate the date in Excel via Access. > > > >> > > > >>I would use TransferSpreadsheet instead of what you have. > > > >>Also, put Set appExcel = New Excel.Application before the > > > >>TransferSpreadsheet command. > > > >> > > > >>If you use something like: > > > >> > > > >> DoCmd.TransferSpreadsheet acExport, , strReport1, strPathName, > >True > > > >> DoCmd.TransferSpreadsheet acExport, , strReport2, strPathName, > >True > > > >> > > > >>It will export to separate spreadsheets. > > > >> > > > >>HTH > > > >> > > > >>Jim > > > >>jhewson at karta.com > > > >> > > > >> > > > >>-----Original Message----- > > > >>From: accessd-bounces at databaseadvisors.com > > > >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A > >Matte > > > >>Sent: Monday, May 07, 2007 4:00 PM > > > >>To: accessd at databaseadvisors.com > > > >>Subject: [AccessD] Report to Excel > > > >> > > > >>Hello All, > > > >> > > > >>I found the code below in the archives from Jim Hale...Anyway to use > > >this > > > >>approach but to have 2 reports go to the same workbook...just > >different > > > >>tabs? > > > >> > > > >>Thanks, > > > >> > > > >>Mark A. Matte > > > >> > > > >>*********Code From Jim**************** > > > >>Sub rpt_to_excel() > > > >>Dim appExcel As Excel.Application, strpathname As String Dim > >strpathnew > > > >>As String, strReport As String > > > >> > > > >>strpathname = "C:\test.xls" > > > >>strpathnew = "C:\test2.xls" > > > >>strReport = "rptInvsummary" > > > >>DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathname > > > >> > > > >>Set appExcel = New Excel.Application > > > >> > > > >>'format your report > > > >> With appExcel > > > >> .Workbooks.Open strpathname, 0 > > > >> .Visible = True 'just to watch the sheet > > > >> .Range("A1:G1").Select > > > >> .Selection.Font.Bold = True > > > >> .Selection.Font.Name = "Arial" > > > >> .Selection.Font.Size = 12 > > > >> .ActiveWorkbook.SaveAs > > >Filename:=strpathnew,FileFormat:=xlNormal > > > >> End With > > > >> appExcel.Quit > > > >> Set appExcel = Nothing > > > >>End Sub > > > >> > >_________________________________________________________________ >PC Magazines 2007 editors choice for best Web mailaward-winning Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_pcmag_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From Jim.Hale at FleetPride.com Wed May 9 10:37:57 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 10:37:57 -0500 Subject: [AccessD] Redeem your voucher Message-ID: Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From markamatte at hotmail.com Wed May 9 10:48:31 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 15:48:31 +0000 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: Hello All, With my lst excel issue...I needed to extract a file name in A97 from a path. The InstrRev function would have been handy. And I found that someone had written it. Seemed very useful...so I thought I'd share. Thanks, Mark A. Matte http://www.tek-tips.com/faqs.cfm?fid=4342 _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Wed May 9 10:55:14 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 11:55:14 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <002c01c79252$6f612700$657aa8c0@m6805> I cut and pasted the number in from their email to me. I am reasonably certain that their issue is that I do not input my username / password, they do, and it is locked. They probably have bad data in those fields and so it will not accept it back. Just my guess. There are only three fields "to be filled in" and I only get to enter data in one. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 9 10:59:29 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 11:59:29 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <003301c79253$074016d0$657aa8c0@m6805> It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 9 11:26:10 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 9 May 2007 11:26:10 -0500 Subject: [AccessD] Stupid Report Question In-Reply-To: <001901c79247$39159ec0$1ebc2ad1@SusanOne> References: <001201c79213$6e3eecc0$6401a8c0@nant><003101c79245$90cfba80$046fa8c0@lcmdv8000> <001901c79247$39159ec0$1ebc2ad1@SusanOne> Message-ID: <007001c79256$c1b5fa40$046fa8c0@lcmdv8000> Sigh. Thanks Susan. We'll see if my report format works on the Printtronix label printer! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 09, 2007 9:35 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Stupid Report Question The label wizard allows you to create a custom label, have you tried that? Susan H. Hi Folks: I have a label that needs to be printed to a 5 X 8 formatted label in lanscape format. The dedicated label printer that we're using doesn't have that (5x8) as paper selection ... How should I construct the report dimensions? 5x8? Sorry, this is ridiculously simple, somehow, I just can't think today ... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Wed May 9 11:39:47 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Wed, 9 May 2007 11:39:47 -0500 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: The easiest way to get a file name from a full path is Dir. One line. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 10:49 AM To: accessd at databaseadvisors.com Subject: [AccessD] InstrRev in A97 Hello All, With my lst excel issue...I needed to extract a file name in A97 from a path. The InstrRev function would have been handy. And I found that someone had written it. Seemed very useful...so I thought I'd share. Thanks, Mark A. Matte http://www.tek-tips.com/faqs.cfm?fid=4342 _________________________________________________________________ PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr ation_HM_mini_pcmag_0507 The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Wed May 9 12:01:01 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 13:01:01 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: <002501c7924b$01f69c10$657aa8c0@m6805> References: <200705091332.l49DW5Td023462@databaseadvisors.com> <002501c7924b$01f69c10$657aa8c0@m6805> Message-ID: <003a01c7925b$a000ba70$657aa8c0@m6805> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 11:02 AM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] Bulk insert Robert, That is much appreciated. Why don't you work with me instead? I am all for doing it "in SQL Server" (I own and use SQL Server 2005) but it has to be something that I understand and can modify or I will not be able to use it in the end, which would make your efforts wasted. My high level spec: 1) Use a "from directory" which is monitored to pick up files from. 1a) The from directory changes for each import data set. 2) Each file in the "from directory" will contain identical formatted data, but the number of records in the file may vary. 3) Each file will be defined by an import spec table, which contains Field Name, Field Width and data type. If no data type is specified, then VarChar() is used. The size of the VarChar() field is determined by the spec table. This allows me to only have to spec data types (in advance) that I know is not VarChar(), but allows me to spec as many as I need in advance of the import. 4) Once the table is built and populated, a new field called PKID needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. Understand that at this time I actually have a functioning system. It takes a pair of tables which specify the file info (from / to directories, field delimiter etc) and the field info (field name / start position in the fixed width data / field length). This program (written in VBA) does a conversion from fixed width to a pipe delimited "CSV" file, reading a line, stripping off the spaces, and writing the stripped data lines back out to a CSV file in the "TO Directory", complete with the first line containing field names. At the moment I have a hand constructed table in a hand constructed database, which is created by an initial use of the wizard from inside of SQL Server, pulling in the first CSV files created by my program. Once that table is created, I use a hand created BULK INSERT Sproc to import the CSV files. Once the table is fully populated with the contents of all the files, I hand build an ALTER TABLE query to build a PKID INT PRIMARY KEY, IDENTITY. As you can see, anywhere you see "hand created", that is an area that needs to be automated. My thoughts are that creating the table initially will be relatively easy, and in fact I know how, building up a make table query with the field names and widths taken from the spec table. I just did not do that because I did not have the time. The next issue is dynamically creating the Sproc that does the Bulk Insert. Now, as to whether the process of importing the data (inside of SQL Server) strips off the spaces is really somewhat irrelevant at this point since I have working code to do this. It is not blazing fast at about 1000 lines / second (for 150 fields) but it is "fast enough". If I port that to VB.Net I hope / expect to get a speed increase. The BULK INSERT SProc that I hand build is currently running about 12K records / sec (for 150 fields) In the end, this really needs to be an external application driving SQL Server functionality. I need a place to go to fill in the import spec table, set the from / to directories, set up the name of the table etc. My heartache to this point has been the inability to get the SQL Server built-in import stuff to import the data without the external strip / rebuild step, or at least without an elaborate dance to get around any limitations of SQL Server to do that stuff for me. The very next thing I have to do is start exporting just the name / address (and PK) of this 100 million record table back out for CASS / NCOA processing. This requires exporting 2 million records at a time, to a destination directory, with a unique file name (Infutor01.csv, Infutor02.csv...). Once my CASS program finishes processing I will have a new set of files in yet another directory that I need to pull back in to SQL Server. Those files will not require the space stripping piece since they will not be fixed width. I do appreciate all of the advice from all the folks out there that have contributed. I am slowly but surely learning the pieces and parts that I need to do this part of my job. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Wednesday, May 09, 2007 9:31 AM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] Bulk insert John, I am working on an example of doing this with SQL Server for you. But, since I have the same amount of free time as you do, it is going to take a week or so to complete. I am using the same concept as you did with a couple of table to hold the Import spec and the column definitions for the spec. I am going to only build it for one table to show how it can be done. The rest will be up to you if you want to expand it. Robert At 09:27 PM 5/8/2007, you wrote: >Date: Tue, 8 May 2007 13:40:59 -0400 >From: "JWColby" >Subject: Re: [dba-SQLServer] Bulk insert >To: >Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >Content-Type: text/plain; charset="us-ascii" > >Jim, > >At this point it is not necessary. I built a preprocessor in a few >hours using my toy (Access). My toy application handles everything >exactly as described. Someday (soon I hope) I will port that to VB.Net >which I hope will be much quicker in the preprocessing department. >Then I will be considered by some as being a real man, playing with >real tools. ;-) Others will still consider me a child, playing with >toys because I didn't take it straight to C#. SOMEDAY (far in the >future) perhaps I will embed those pieces directly in CLR programming >inside of SQL Server 2005. Then I will be able to look down my nose at those children still playing with toys. > >For now, it works and with the addition of driving the Sproc from the >vba will be an integrated application like what I described. > >John W. Colby _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 12:01:37 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 17:01:37 +0000 Subject: [AccessD] InstrRev in A97 Message-ID: Drew, Ok...now I'm laughing at myself. I found a module that called a windows dialogue box to get a file and path. This module used the InstrRev. I guess I got so fixated on what the example was...I overlooked the obvious. Thanks for pointing this out. Still laughing, Mark >From: "Drew Wutka" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] InstrRev in A97 >Date: Wed, 9 May 2007 11:39:47 -0500 > >The easiest way to get a file name from a full path is Dir. One line. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:49 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] InstrRev in A97 > >Hello All, > >With my lst excel issue...I needed to extract a file name in A97 from a >path. The InstrRev function would have been handy. And I found that >someone had written it. Seemed very useful...so I thought I'd share. > >Thanks, > >Mark A. Matte > >http://www.tek-tips.com/faqs.cfm?fid=4342 > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning >Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr >ation_HM_mini_pcmag_0507 > >The information contained in this transmission is intended only for the >person or entity to which it is addressed and may contain II-VI Proprietary >and/or II-VI BusinessSensitve material. If you are not the intended >recipient, please contact the sender immediately and destroy the material >in its entirety, whether electronic or hard copy. You are notified that any >review, retransmission, copying, disclosure, dissemination, or other use >of, or taking of any action in reliance upon this information by persons or >entities other than the intended recipient is prohibited. > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From Gustav at cactus.dk Wed May 9 12:18:28 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 09 May 2007 19:18:28 +0200 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Message-ID: Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com From ssharkins at setel.com Wed May 9 12:34:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 13:34:43 -0400 Subject: [AccessD] Problem with Word Automation Message-ID: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> 'Print customer slip for current customer. Dim appWord As Word.Application Dim doc As Word.Document 'Dim rst As ADODB.Recordset 'Dim strSQL As String 'Set appWord = GetObject(, "Word.Application") Set appWord = New Word.Application 'With appWord 'Set doc = appWord.Documents("Customer Slip") On Error GoTo errHandler Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) As you can see from the commented lines, I've tried a number of ways to retrieve a Word document named Customer Slip -- I want to fill predefined fields with Access data. If I tried to set the Documents property to the file name I get a "bad file" error. If I try to do it in the .Open method, I get the following: -2147417851 Automation error The server threw an exception. I don't have a clue what that means. Susan H. From jwcolby at colbyconsulting.com Wed May 9 12:52:33 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 13:52:33 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: References: Message-ID: <005201c79262$d279b3b0$657aa8c0@m6805> Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 13:02:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:02:50 +0000 Subject: [AccessD] InstrRev in A97 In-Reply-To: Message-ID: ...apparently I can't focus today. I found the reason they used InstrRev instead of DIR...at this point the file has not been created...therefore DIR returns nothing. They are using the InstrRev to parse the name of the file to be created. Thanks, Mark A. Matte >From: "Drew Wutka" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] InstrRev in A97 >Date: Wed, 9 May 2007 11:39:47 -0500 > >The easiest way to get a file name from a full path is Dir. One line. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:49 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] InstrRev in A97 > >Hello All, > >With my lst excel issue...I needed to extract a file name in A97 from a >path. The InstrRev function would have been handy. And I found that >someone had written it. Seemed very useful...so I thought I'd share. > >Thanks, > >Mark A. Matte > >http://www.tek-tips.com/faqs.cfm?fid=4342 > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning >Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr >ation_HM_mini_pcmag_0507 > >The information contained in this transmission is intended only for the >person or entity to which it is addressed and may contain II-VI Proprietary >and/or II-VI BusinessSensitve material. If you are not the intended >recipient, please contact the sender immediately and destroy the material >in its entirety, whether electronic or hard copy. You are notified that any >review, retransmission, copying, disclosure, dissemination, or other use >of, or taking of any action in reliance upon this information by persons or >entities other than the intended recipient is prohibited. > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From askolits at ot.com Wed May 9 13:05:32 2007 From: askolits at ot.com (John Skolits) Date: Wed, 9 May 2007 14:05:32 -0400 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: <005a01c79264$a2c0d5c0$0f01a8c0@officexp> I just tried this.. After I pasted my data, I then added another worksheet like this: objXLBook.Worksheets.Add Then I referred to it as objXLBook.Worksheets(2) And was then able to paste data into another sheet in the same workbook. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 09, 2007 10:26 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Report to Excel_ Thanks John, I got the formatting the way I needed it...I used the report to determine what order the columns would be in...and then changed the font,color,etc in excel. Now I just need to get the sheets into a single workbook. Thanks, Mark >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Tue, 8 May 2007 18:02:47 -0400 > >Mark, > >I've been kind-of following this thread and thought I'd share my code with >you. >It may not help you with what you're doing, but it's a slightly different >approach. >I use an Excel sheet as a template to do some of my formatting. I open it, >use the CopyFromRecordset function to paste the data into Excel, then do a >"Save AS". The nice thing about the template is you can make a formatting >change to it instead of having to do it in the code. There will probably be >some need to still do some vba-code formatting of the spreadsheet, but this >can cut down on some of the coding. > >Note: You can't paste the code below and run it because I cut it up a >little >to make it more succinct, but it may give you some other ideas. I also have >some error trapping codes at the end that may help. > >John >---- > > >Private Sub btnExportToExcelX() > >On Error GoTo Err_btnExportToExcel > >Dim objXLBook As Excel.Workbook >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >Dim objResultsSheet As Excel.Worksheet >Dim intMaxCol As Integer >Dim intMaxRow As Integer >Dim strExportFilename As String, strFullXLTemplateFilename As String > >strExportFilename =TestWorkbook.xls" >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > >Set objXLBook = GetObject(strFullXLTemplateFilename) >Set objXLApp = objXLBook.Parent >Set objResultsSheet = objXLBook.Worksheets(1) > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > rsFinalBidQuery.MoveLast > rsFinalBidQuery.MoveFirst > > '*Store the data in the worksheet > intMaxCol = rsFinalBidQuery.Fields.Count > If rsFinalBidQuery.RecordCount > 0 Then > intMaxRow = rsFinalBidQuery.RecordCount > With objXLApp > With objResultsSheet > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >intMaxCol)).CopyFromRecordset rsFinalBidQuery > End With > End With > End If > >rsFinalBidQuery.Close > >'Add some values to specific defined cells >objResultsSheet.Range("PartNum").Value = "PN# 1234" >objResultsSheet.Range("PartDesc").Value = "Description" > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > >'Save it as a new name >objXLBook.SaveAs strExportFilename >objXLApp.Visible = True > >' Release the object variable >Set objXLBook = Nothing > >BuildXLBidReport_EXIT: >Set rsFinalBidQuery = Nothing > >DoCmd.Hourglass False >DoCmd.Echo True > >Exit Sub > >BuildXLBidReport_ERR: > >'If user picks to cancel the opening of the worksheet because of the excel >macro message this error occurs >If Err = 287 Then Resume BuildXLBidReport_EXIT > >If Err = 70 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > Resume BuildXLBidReport_EXIT >End If >If Err = 1004 Then > MsgBox " Make sure this worksheet **" & strExportFilename & "** isn't >alreday open.", 64, "Excel Sheet Open" > objXLBook.Application.Quit > ' Release the object variable > Set objXLBook = Nothing > Resume BuildXLBidReport_EXIT >End If > >'Display the error > > Dim strCallingObject As String > strCallingObject = "BuildXLBidReport" & " " & >Application.CurrentObjectName & " Line: " & Erl > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > Resume BuildXLBidReport_EXIT > > Dim oApp As Object > > Set oApp = CreateObject("Excel.Application") > oApp.Visible = True > 'Only XL 97 supports UserControl Property > On Error Resume Next > oApp.UserControl = True > >Exit_btnExportToExcel: > Exit Sub > >Err_btnExportToExcel: > MsgBox Err.Description > Resume Exit_btnExportToExcel > >End Sub > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? Youll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_outlook_0507 From ebarro at verizon.net Wed May 9 13:17:01 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 09 May 2007 11:17:01 -0700 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert In-Reply-To: <005201c79262$d279b3b0$657aa8c0@m6805> Message-ID: <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com From Jim.Hale at FleetPride.com Wed May 9 13:14:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 13:14:09 -0500 Subject: [AccessD] Redeem your voucher Message-ID: I'm guessing this implies the voucher number as input isn't valid so they just keep asking by recyling the same screen. Anything crazy like leading or trailing spaces, caps, etc in the number? Also, I've been on some sites where cutting and pasting the number doesn't work, it has to be typed. Why, I don't know. Good Luck. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:59 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From mmattys at rochester.rr.com Wed May 9 13:19:28 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Wed, 9 May 2007 14:19:28 -0400 Subject: [AccessD] InstrRev in A97 References: Message-ID: <00e201c79266$96102b30$0302a8c0@Laptop> Maybe this helps? strFileName = xlApp.Application.GetSaveAsFilename(FileFilter:="Excel Workbooks (*.xls), *.xls", Title:="Save Workbook As") Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Mark A Matte" To: Sent: Wednesday, May 09, 2007 2:02 PM Subject: Re: [AccessD] InstrRev in A97 > ...apparently I can't focus today. > > I found the reason they used InstrRev instead of DIR...at this point the > file has not been created...therefore DIR returns nothing. They are using > the InstrRev to parse the name of the file to be created. > > Thanks, > > Mark A. Matte > From markamatte at hotmail.com Wed May 9 13:19:39 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:19:39 +0000 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: Susan, Being that I just fought excel automation...I plugged your info into my examples...and here is what I got. Let me know if it works. Thanks, Mark ****************CODE*********** Dim appWord As Word.Application Dim doc As Word.Document Set appWord = New Word.Application With appWord .Documents.Open ("c:\temp\Charlotte_Test") .Visible = True End With ****************END_CODE*********** >From: "Susan Harkins" >Reply-To: Access Developers discussion and problem >solving >To: "'Discussion of Hardware and Software >issues'", > >Subject: [AccessD] Problem with Word Automation >Date: Wed, 9 May 2007 13:34:43 -0400 > > 'Print customer slip for current customer. > Dim appWord As Word.Application > Dim doc As Word.Document > 'Dim rst As ADODB.Recordset > 'Dim strSQL As String > > 'Set appWord = GetObject(, "Word.Application") > > Set appWord = New Word.Application > > 'With appWord > 'Set doc = appWord.Documents("Customer Slip") > > On Error GoTo errHandler > Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) > >As you can see from the commented lines, I've tried a number of ways to >retrieve a Word document named Customer Slip -- I want to fill predefined >fields with Access data. > >If I tried to set the Documents property to the file name I get a "bad >file" >error. If I try to do it in the .Open method, I get the following: > >-2147417851 >Automation error >The server threw an exception. > >I don't have a clue what that means. > >Susan H. > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From jwcolby at colbyconsulting.com Wed May 9 13:26:18 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 14:26:18 -0400 Subject: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert In-Reply-To: <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> References: <005201c79262$d279b3b0$657aa8c0@m6805> <0JHS00JDGDGESWGE@vms048.mailsrvcs.net> Message-ID: <005a01c79267$897f5a20$657aa8c0@m6805> Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Wed May 9 13:26:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 18:26:50 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: <005a01c79264$a2c0d5c0$0f01a8c0@officexp> Message-ID: Thanks John, I didn't know how to use a recordset...because the data I wanted out went through some heavy formatting in the report. Thats why I think I am stuck with the OUTPUTTO method, unless I choose to do all of my formatting after. The report's formatting is dependant on user input...they decide what columns are included, what order the columns are in, and the columns are colored depending what order they are selected in. Most of this is done behind the report in VBA. That part I finished...and with the last input from Shamil...I got the sheets into 1 workbook. Thanks to All for the support and suggestions. Thanks again, Mark A. Matte >From: "John Skolits" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 9 May 2007 14:05:32 -0400 > >I just tried this.. > >After I pasted my data, I then added another worksheet like this: > >objXLBook.Worksheets.Add > >Then I referred to it as objXLBook.Worksheets(2) > >And was then able to paste data into another sheet in the same workbook. > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Wednesday, May 09, 2007 10:26 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ > >Thanks John, > >I got the formatting the way I needed it...I used the report to determine >what order the columns would be in...and then changed the font,color,etc in >excel. > >Now I just need to get the sheets into a single workbook. > >Thanks, > >Mark > > > > >From: "John Skolits" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Report to Excel_ > >Date: Tue, 8 May 2007 18:02:47 -0400 > > > >Mark, > > > >I've been kind-of following this thread and thought I'd share my code >with > >you. > >It may not help you with what you're doing, but it's a slightly different > >approach. > >I use an Excel sheet as a template to do some of my formatting. I open >it, > >use the CopyFromRecordset function to paste the data into Excel, then do >a > >"Save AS". The nice thing about the template is you can make a formatting > >change to it instead of having to do it in the code. There will probably >be > >some need to still do some vba-code formatting of the spreadsheet, but >this > >can cut down on some of the coding. > > > >Note: You can't paste the code below and run it because I cut it up a > >little > >to make it more succinct, but it may give you some other ideas. I also >have > >some error trapping codes at the end that may help. > > > >John > >---- > > > > > >Private Sub btnExportToExcelX() > > > >On Error GoTo Err_btnExportToExcel > > > >Dim objXLBook As Excel.Workbook > >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant > >Dim objXLRange As Excel.Range, objXLApp As Excel.Application > >Dim objResultsSheet As Excel.Worksheet > >Dim intMaxCol As Integer > >Dim intMaxRow As Integer > >Dim strExportFilename As String, strFullXLTemplateFilename As String > > > >strExportFilename =TestWorkbook.xls" > >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" > > > >Set objXLBook = GetObject(strFullXLTemplateFilename) > >Set objXLApp = objXLBook.Parent > >Set objResultsSheet = objXLBook.Worksheets(1) > > > >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") > > rsFinalBidQuery.MoveLast > > rsFinalBidQuery.MoveFirst > > > > '*Store the data in the worksheet > > intMaxCol = rsFinalBidQuery.Fields.Count > > If rsFinalBidQuery.RecordCount > 0 Then > > intMaxRow = rsFinalBidQuery.RecordCount > > With objXLApp > > With objResultsSheet > > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + > >intMaxCol)).CopyFromRecordset rsFinalBidQuery > > End With > > End With > > End If > > > >rsFinalBidQuery.Close > > > >'Add some values to specific defined cells > >objResultsSheet.Range("PartNum").Value = "PN# 1234" > >objResultsSheet.Range("PartDesc").Value = "Description" > > > >objXLBook.Parent.Windows(objXLBook.Name).Visible = True > > > >'Save it as a new name > >objXLBook.SaveAs strExportFilename > >objXLApp.Visible = True > > > >' Release the object variable > >Set objXLBook = Nothing > > > >BuildXLBidReport_EXIT: > >Set rsFinalBidQuery = Nothing > > > >DoCmd.Hourglass False > >DoCmd.Echo True > > > >Exit Sub > > > >BuildXLBidReport_ERR: > > > >'If user picks to cancel the opening of the worksheet because of the >excel > >macro message this error occurs > >If Err = 287 Then Resume BuildXLBidReport_EXIT > > > >If Err = 70 Then > > MsgBox " Make sure this worksheet **" & strExportFilename & "** >isn't > >alreday open.", 64, "Excel Sheet Open" > > Resume BuildXLBidReport_EXIT > >End If > >If Err = 1004 Then > > MsgBox " Make sure this worksheet **" & strExportFilename & "** >isn't > >alreday open.", 64, "Excel Sheet Open" > > objXLBook.Application.Quit > > ' Release the object variable > > Set objXLBook = Nothing > > Resume BuildXLBidReport_EXIT > >End If > > > >'Display the error > > > > Dim strCallingObject As String > > strCallingObject = "BuildXLBidReport" & " " & > >Application.CurrentObjectName & " Line: " & Erl > > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) > > Resume BuildXLBidReport_EXIT > > > > Dim oApp As Object > > > > Set oApp = CreateObject("Excel.Application") > > oApp.Visible = True > > 'Only XL 97 supports UserControl Property > > On Error Resume Next > > oApp.UserControl = True > > > >Exit_btnExportToExcel: > > Exit Sub > > > >Err_btnExportToExcel: > > MsgBox Err.Description > > Resume Exit_btnExportToExcel > > > >End Sub > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Like the way Microsoft Office Outlook works? Youll love Windows Live >Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_outlook_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From jwcolby at colbyconsulting.com Wed May 9 13:36:32 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 14:36:32 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: References: Message-ID: <006b01c79268$f866a8c0$657aa8c0@m6805> Yea, I typed it in too. No help. That also brings up the issues of is it 0 or O, 1 or I or l etc. At any rate, no luck so far. I did get a response of "we'll get back to ya" from MS. In the meantime I don't need it anyway. I was just trying to get something free from the big MS. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 2:14 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher I'm guessing this implies the voucher number as input isn't valid so they just keep asking by recyling the same screen. Anything crazy like leading or trailing spaces, caps, etc in the number? Also, I've been on some sites where cutting and pasting the number doesn't work, it has to be typed. Why, I don't know. Good Luck. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:59 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher It turns out that they don't even get to where they ask me for anything other than the voucher number. I enter just that one piece of info, and it brings me right back to the same screen. I think it is a psych 101 test where they are just trying to see how long the poor fool will continue to enter the voucher number before giving up. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice versa. MS get lots of laughs over this one. Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 08, 2007 5:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Redeem your voucher Hi John: Possible problems: 1. You are not using an approved browser like Microsoft's Internet Explorer... Come the think of it, it is the only approved browser. 2. Are you accepting cookie? The answer to this question is yes. 3. Are you entering the correct username and password? Remember that both username and password are case sensitive. 4. If you have screwed up 5 times the system will go off into space for a few hours before you are allowed to try again. If you have done everything right and it still doesn't let you in, complain to MS through one of the page emails and you will be sent special instructions/password and be able to retrieve your copy. Been there done it a number of times. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Tuesday, May 08, 2007 1:48 PM To: 'Access Developers discussion and problem solving'; dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com Subject: [AccessD] Redeem your voucher Well, I watched the two videos, filled out the required feedback report and now I have received my highly coveted voucher for my free* copy of Visual Studio 2005 Standard Edition. *Other than having to pay shipping and handling (which is fine) I also have to get the web page to ACCEPT my voucher (which ain't happening). The old endless loop, comes right back to the same page and asks for the voucher again. I even tried using MS POS Explorer to no avail. I wonder if anyone at MS has noticed that no one is redeeming their vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lembit.dbamail at t-online.de Wed May 9 13:58:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 9 May 2007 20:58:50 +0200 Subject: [AccessD] Redeem your voucher References: <006b01c79268$f866a8c0$657aa8c0@m6805> Message-ID: <003401c7926c$14d81fe0$1800a8c0@s1800> John, paste it into WordPad and set the font to CourierNew or some such, then you can distinguish between O, 0, I, 1, l... Lembit ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 8:36 PM Subject: Re: [AccessD] Redeem your voucher > Yea, I typed it in too. No help. That also brings up the issues of is it > 0 > or O, 1 or I or l etc. At any rate, no luck so far. I did get a response > of "we'll get back to ya" from MS. > > In the meantime I don't need it anyway. I was just trying to get > something > free from the big MS. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 2:14 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > I'm guessing this implies the voucher number as input isn't valid so they > just keep asking by recyling the same screen. Anything crazy like leading > or > trailing spaces, caps, etc in the number? Also, I've been on some sites > where cutting and pasting the number doesn't work, it has to be typed. > Why, > I don't know. Good Luck. > Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Wednesday, May 09, 2007 10:59 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > It turns out that they don't even get to where they ask me for anything > other than the voucher number. I enter just that one piece of info, and > it > brings me right back to the same screen. I think it is a psych 101 test > where they are just trying to see how long the poor fool will continue to > enter the voucher number before giving up. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 11:38 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice > versa. MS get lots of laughs over this one. Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 08, 2007 5:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > Hi John: > > Possible problems: > 1. You are not using an approved browser like Microsoft's Internet > Explorer... Come the think of it, it is the only approved browser. 2. Are > you accepting cookie? The answer to this question is yes. 3. Are you > entering the correct username and password? Remember that both username > and > password are case sensitive. 4. If you have screwed up 5 times the system > will go off into space for a few hours before you are allowed to try > again. > > If you have done everything right and it still doesn't let you in, > complain > to MS through one of the page emails and you will be sent special > instructions/password and be able to retrieve your copy. > > Been there done it a number of times. > > HTH > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 1:48 PM > To: 'Access Developers discussion and problem solving'; > dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com > Subject: [AccessD] Redeem your voucher > > Well, I watched the two videos, filled out the required feedback report > and > now I have received my highly coveted voucher for my free* copy of Visual > Studio 2005 Standard Edition. > > *Other than having to pay shipping and handling (which is fine) I also > have > to get the web page to ACCEPT my voucher (which ain't happening). The old > endless loop, comes right back to the same page and asks for the voucher > again. I even tried using MS POS Explorer to no avail. > > I wonder if anyone at MS has noticed that no one is redeeming their > vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. > > Sigh. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. If you have received this email > in error please contact the sender and delete the material from any > computer. As a recipient of this email, you are responsible for screening > its contents and the contents of any attachments for the presence of > viruses. No liability is accepted for any damages caused by any virus > transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. > If you have received this email in error please contact the sender and > delete the material from any computer. As a recipient of this email, you > are > responsible for screening its contents and the contents of any attachments > for the presence of viruses. No liability is accepted for any damages > caused > by any virus transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08.05.2007 > 14:23 > > From adtp at hotmail.com Wed May 9 14:05:50 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 10 May 2007 00:35:50 +0530 Subject: [AccessD] Problem with Word Automation References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: Susan, Sample subroutine as given below, on being tested at my end, is found to work smoothly. Best wishes, A.D.Tejpal --------------- Sample subroutine =============================== Sub P_GetWordDoc() On Error GoTo ErrTrap Dim appWord As Word.Application Dim doc As Word.Document Dim DocPath1 As String, DocPath2 As String DocPath1 = "C:\TEMP\Test 01.doc" DocPath2 = "C:\TEMP\Test 02.doc" On Error Resume Next Err.Clear Set appWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Set appWord = New Word.Application End If On Error GoTo ErrTrap Set doc = appWord.Documents.Open(DocPath1, , True) On Error Resume Next Kill DocPath2 doc.SaveAs DocPath2 ExitPoint: On Error Resume Next doc.Close appWord.Quit Set doc = Nothing Set appWord = Nothing On Error GoTo 0 Exit Sub ErrTrap: MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" Resume ExitPoint End Sub =============================== ----- Original Message ----- From: Susan Harkins To: 'Discussion of Hardware and Software issues' ; AccessD at databaseadvisors.com Sent: Wednesday, May 09, 2007 23:04 Subject: [AccessD] Problem with Word Automation 'Print customer slip for current customer. Dim appWord As Word.Application Dim doc As Word.Document 'Dim rst As ADODB.Recordset 'Dim strSQL As String 'Set appWord = GetObject(, "Word.Application") Set appWord = New Word.Application 'With appWord 'Set doc = appWord.Documents("Customer Slip") On Error GoTo errHandler Set doc = appWord.Documents.Open("C:\WordForms\Customer Slip", , True) As you can see from the commented lines, I've tried a number of ways to retrieve a Word document named Customer Slip -- I want to fill predefined fields with Access data. If I tried to set the Documents property to the file name I get a "bad file" error. If I try to do it in the .Open method, I get the following: -2147417851 Automation error The server threw an exception. I don't have a clue what that means. Susan H. From markamatte at hotmail.com Wed May 9 14:28:50 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 09 May 2007 19:28:50 +0000 Subject: [AccessD] Report to Excel_NEW In-Reply-To: Message-ID: Hello All, This just keeps getting worse... I moved the db to the users machine...and of course...I get errors. Turns out this guy has A97 and Excel03 on his machine...I'm guessing this is the issue. I get the error"Application defined or object defined error" in the following area: With appExcel .Workbooks.Open strpathTemp1, 0 Any ideas? Is there a different syntax for excel'03? Thanks, Mark A. Matte _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From jimdettman at verizon.net Wed May 9 14:37:15 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 09 May 2007 15:37:15 -0400 Subject: [AccessD] A database design for contacts.... Message-ID: <002b01c79271$738d0550$8abea8c0@XPS> Hi All, In light of recent discussions on lookup tables, I'm curious on how different people have attacked the contacts problem. For example, let's say I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, etc. A contact could be an individual or a group or company. For example, I might have three doctors working as a group called Plank Road Medical. You need to keep track of both the individual doctors and their contact info and the contact info for the group. Also the fact that they are all associated. Do you: A. Have a table for every possible type of contact? or B. Have one contact table which includes a contact "type". and the second question; how do you handle companies vs. individuals and link the two? Do you: A. Have a separate table for companies. B. Have a flag which indicates if the contact is a company or an individual and self-join to your single table. I know the right answer, but I'm wondering what everyone feels is the practical answer. Given the recent thread on Lookups, this is probably a good topic for discussion. Jim. From martyconnelly at shaw.ca Wed May 9 15:10:25 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 09 May 2007 13:10:25 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <46422AB1.3030902@shaw.ca> Have a look at this article and mdb on managing tables with human relationships especially groups of peoples by Allen Browne. http://www.allenbrowne.com/AppHuman.html With Access SQL it does breakdown if carried too far because Access SQL unlike SQL Sever can't easily handle nested SQL Trees. Jim Dettman wrote: >Hi All, > > In light of recent discussions on lookup tables, I'm curious on how >different people have attacked the contacts problem. For example, let's say >I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, >etc. A contact could be an individual or a group or company. For example, >I might have three doctors working as a group called Plank Road Medical. >You need to keep track of both the individual doctors and their contact info >and the contact info for the group. Also the fact that they are all >associated. > > Do you: > >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an individual >and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the >practical answer. Given the recent thread on Lookups, this is probably a >good topic for discussion. > >Jim. > > -- Marty Connelly Victoria, B.C. Canada From fuller.artful at gmail.com Wed May 9 15:32:27 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 16:32:27 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, let's > say > I need to keep track of Doctors, Attorneys, Therapists, Hospitals, > Clinics, > etc. A contact could be an individual or a group or company. For > example, > I might have three doctors working as a group called Plank Road Medical. > You need to keep track of both the individual doctors and their contact > info > and the contact info for the group. Also the fact that they are all > associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and > link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual > and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is probably a > good topic for discussion. > > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Wed May 9 15:47:09 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 16:47:09 -0400 Subject: [AccessD] Redeem your voucher References: <003301c79253$074016d0$657aa8c0@m6805> Message-ID: <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> ...it would appear they have an apt pupil :))) William Hindman ----- Original Message ----- From: "JWColby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 11:59 AM Subject: Re: [AccessD] Redeem your voucher > It turns out that they don't even get to where they ask me for anything > other than the voucher number. I enter just that one piece of info, and > it > brings me right back to the same screen. I think it is a psych 101 test > where they are just trying to see how long the poor fool will continue to > enter the voucher number before giving up. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim > Sent: Wednesday, May 09, 2007 11:38 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > Also, make sure on the voucher l (L) is not supposed to be 1 (one) or vice > versa. MS get lots of laughs over this one. > Jim Hale > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 08, 2007 5:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Redeem your voucher > > > Hi John: > > Possible problems: > 1. You are not using an approved browser like Microsoft's Internet > Explorer... Come the think of it, it is the only approved browser. 2. Are > you accepting cookie? The answer to this question is yes. 3. Are you > entering the correct username and password? Remember that both username > and > password are case sensitive. 4. If you have screwed up 5 times the system > will go off into space for a few hours before you are allowed to try > again. > > If you have done everything right and it still doesn't let you in, > complain > to MS through one of the page emails and you will be sent special > instructions/password and be able to retrieve your copy. > > Been there done it a number of times. > > HTH > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 1:48 PM > To: 'Access Developers discussion and problem solving'; > dba-sqlserver at databaseadvisors.com; dba-vb at databaseadvisors.com > Subject: [AccessD] Redeem your voucher > > Well, I watched the two videos, filled out the required feedback report > and > now I have received my highly coveted voucher for my free* copy of Visual > Studio 2005 Standard Edition. > > *Other than having to pay shipping and handling (which is fine) I also > have > to get the web page to ACCEPT my voucher (which ain't happening). The old > endless loop, comes right back to the same page and asks for the voucher > again. I even tried using MS POS Explorer to no avail. > > I wonder if anyone at MS has noticed that no one is redeeming their > vouchers. I wonder if anyone at MS is ASSIGNED to notice such things. > > Sigh. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > > *********************************************************************** > The information transmitted is intended solely for the individual or > entity > to which it is addressed and may contain confidential and/or privileged > material. Any review, retransmission, dissemination or other use of or > taking action in reliance upon this information by persons or entities > other > than the intended recipient is prohibited. > If you have received this email in error please contact the sender and > delete the material from any computer. As a recipient of this email, you > are > responsible for screening its contents and the contents of any attachments > for the presence of viruses. No liability is accepted for any damages > caused > by any virus transmitted by this email. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Wed May 9 15:47:15 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:47:15 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <007301c7927b$3b14f390$657aa8c0@m6805> >Lately I have been busted here for such opinions, but I plod on. LOL, boy do I know that feeling. >An organization has one or more contacts (if it has zero, why record it?) Just about the only point I take exception to. Often times things are mailed to an organization, not to a specific person. A phone bill, an electric bill. The phone company only wants to get the bill in the door, it will find its way to the right place after that. >In short, you have raised a non-trivial problem. As it happens, it is one of my three favorite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Amen, and amen. What are the other two favorite problems? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 09, 2007 4:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, > let's say I need to keep track of Doctors, Attorneys, Therapists, > Hospitals, Clinics, etc. A contact could be an individual or a group > or company. For example, I might have three doctors working as a > group called Plank Road Medical. > You need to keep track of both the individual doctors and their > contact info and the contact info for the group. Also the fact that > they are all associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals > and link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is > probably a good topic for discussion. > > 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 jwcolby at colbyconsulting.com Wed May 9 15:48:08 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:48:08 -0400 Subject: [AccessD] Redeem your voucher In-Reply-To: <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> References: <003301c79253$074016d0$657aa8c0@m6805> <001301c7927b$37190dd0$7d7d6c4c@jisshowsbs.local> Message-ID: <007401c7927b$5a752d90$657aa8c0@m6805> Oh yea. If you give me a voucher, expect me to try and collect. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:47 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Redeem your voucher ...it would appear they have an apt pupil :))) William Hindman From wdhindman at dejpolsystems.com Wed May 9 15:50:39 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 16:50:39 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert References: <200705091332.l49DW5Td023462@databaseadvisors.com><002501c7924b$01f69c10$657aa8c0@m6805> <003a01c7925b$a000ba70$657aa8c0@m6805> Message-ID: <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes > just to build the auto increment PK field after the table was finished > importing records. The index space for the table (with just this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space to > hold. There were 56 CSV files created after stripping out the spaces, > which > required 40.8 Gigabytes of disk space to hold. Thus by my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the original > fixed width file, with the real data occupying 40.8 GB. It is interesting > to note that the raw data in the CSV file was 41gb while the data space > required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for each > and every file, but the process of stripping the spaces off of the fields > happened at about 1K records / second. Given 97.5 million records, this > equates to 97.5 thousand seconds to do the space stripping, which is 27.77 > hours. That of course is done in a VBA application. Again I don't have > accurate specs for all of the bulk inserts, however those that I recorded > the times for summed to 71.2 million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that the > BULK > INSERT itself took 1.3 hours but due to the lack of automation in feeding > the Sproc file names, I had to manually edit the SPROC each time I wanted > to > import a new file so the actual import took much longer, since I wasn't > necessarily watching the computer as the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this last > few > weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am all > for > doing it "in SQL Server" (I own and use SQL Server 2005) but it has to be > something that I understand and can modify or I will not be able to use it > in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, > but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains Field > Name, Field Width and data type. If no data type is specified, then > VarChar() is used. The size of the VarChar() field is determined by the > spec table. This allows me to only have to spec data types (in advance) > that I know is not VarChar(), but allows me to spec as many as I need in > advance of the import. > 4) Once the table is built and populated, a new field called PKID needs to > be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes > a pair of tables which specify the file info (from / to directories, field > delimiter etc) and the field info (field name / start position in the > fixed > width data / field length). This program (written in VBA) does a > conversion > from fixed width to a pipe delimited "CSV" file, reading a line, stripping > off the spaces, and writing the stripped data lines back out to a CSV file > in the "TO Directory", complete with the first line containing field > names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside of > SQL Server, pulling in the first CSV files created by my program. Once > that > table is created, I use a hand created BULK INSERT Sproc to import the CSV > files. Once the table is fully populated with the contents of all the > files, I hand build an ALTER TABLE query to build a PKID INT PRIMARY KEY, > IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs > to be automated. My thoughts are that creating the table initially will > be > relatively easy, and in fact I know how, building up a make table query > with > the field names and widths taken from the spec table. I just did not do > that because I did not have the time. The next issue is dynamically > creating the Sproc that does the Bulk Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point since I > have working code to do this. It is not blazing fast at about 1000 lines > / > second (for 150 fields) but it is "fast enough". If I port that to VB.Net > I > hope / expect to get a speed increase. The BULK INSERT SProc that I hand > build is currently running about 12K records / sec (for 150 fields) > > In the end, this really needs to be an external application driving SQL > Server functionality. I need a place to go to fill in the import spec > table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address > (and PK) of this 100 million record table back out for CASS / NCOA > processing. This requires exporting 2 million records at a time, to a > destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will have a > new set of files in yet another directory that I need to pull back in to > SQL > Server. Those files will not require the space stripping piece since they > will not be fixed width. > > I do appreciate all of the advice from all the folks out there that have > contributed. I am slowly but surely learning the pieces and parts that I > need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. But, > since I have the same amount of free time as you do, it is going to take a > week or so to complete. I am using the same concept as you did with a > couple of table to hold the Import spec and the column definitions for the > spec. I am going to only build it for one table to show how it can be > done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to VB.Net >>which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 colbyconsulting.com Wed May 9 15:59:37 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 16:59:37 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert In-Reply-To: <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> References: <200705091332.l49DW5Td023462@databaseadvisors.com><002501c7924b$01f69c10$657aa8c0@m6805><003a01c7925b$a000ba70$657aa8c0@m6805> <001901c7927b$b4233f30$7d7d6c4c@jisshowsbs.local> Message-ID: <007501c7927c$f4ca09f0$657aa8c0@m6805> Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 cfoust at infostatsystems.com Wed May 9 16:00:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 9 May 2007 14:00:17 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: I agree and disagree, Arthur. In some databases, like membership databases, there are categories of membership which include persons or organizations. The organization may not provide a contact, but it still has an address and phone number, so it still needs to be recorded, particularly if it pays dues or makes contributions. Persons are all contacts, but not all of them may be associated with an organization. The same rationale holds true in a "family" database, except that all families will have at least one person in them at some point in their existence. You can address the problem in part by using a DBMember table that contains a unique key for each organization or person + a membertype value. The PK of that table would become the PK of the organization or person table records. You would need a separate table to make the connections between person and organization, and some way to indicate whether a person is the primary contact for that organization. Addresses, phone numbers, etc. would be linked to the DBMember and would include a field to categorize them (home, mailing, office, etc.). Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 09, 2007 1:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... I've been down this particular road a couple of times, Jim. Your brief description masks many duplicate references (m:m tables), and IMO confuses contacts with organizations. (Lately I have been busted here for such opinions, but I plod on.) A contact is a Person, not an organization. An organization has one or more contacts (if it has zero, why record it?). A physician may also be an attorney or a city counsellor (that's what we call them in Canada, feel free to translate -- the point is this person may have run for office as the rep for district xyz and either won or lost, both of which facts may be important, depending on the app. Now: addresses. The simple fact of the matter is that most people who run for office are affluent, and therefore the odds are that they own multiple residences, one a home, another a cottage, another a shack in Martinique -- whatever. No slam intended upon such fortunate people. I want to concentrate instead upon the problem that Person X has three addresses, and her domicile therein is dictated by the month of the year. She will be in Toronto from May to July, then go to Martinique for a few months, and ten to France just in time for the Cannes film festival. Addresses, therefore, are scoped by time. No point mailing her a letter to Montreal when it's time for the Cannes film festival, and so on. This could grow even further complicated by the fact that she sells the cottage in Nantucket and purchases another in New Hampshire. In short, you have raised a non-trivial problem. As it happens, it is one of my three favourite problems. I have spend a long time thinking about it and have yet to discover a magic bullet. Arthur On 5/9/07, Jim Dettman wrote: > > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, > let's say I need to keep track of Doctors, Attorneys, Therapists, > Hospitals, Clinics, etc. A contact could be an individual or a group > or company. For example, I might have three doctors working as a > group called Plank Road Medical. > You need to keep track of both the individual doctors and their > contact info and the contact info for the group. Also the fact that > they are all associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals > and link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is > probably a good topic for discussion. > > 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 jwcolby at colbyconsulting.com Wed May 9 16:08:07 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 17:08:07 -0400 Subject: [AccessD] VB.Net - cut and trim Message-ID: <007601c7927e$248a5a90$657aa8c0@m6805> I am looking at how to do in VB.Net what in VBA would be str = trim(mid(str,intStartPos, intLen)) I can do this (I think) in two steps using: private mstr as string mstr = lstrRecord.SubString(intStartPos,intWidth) mstr = mstr.Trim(mstr.ToCharArray) Given what I know about VB.Net (not very darned much) is this the best way? I see where the string builder can do the substring part but it does not have a trim method. John W. Colby Colby Consulting www.ColbyConsulting.com From wdhindman at dejpolsystems.com Wed May 9 16:24:26 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 17:24:26 -0400 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <003401c79280$6ca4b030$7d7d6c4c@jisshowsbs.local> Jim ...ok, I'll bite :) 1st level ...tblentity .......entityID (AN) .......typeID .......other fields unique to entity 2nd level ...tblorg ......entityID (pk/fk from tblentity) ......orgname ......dba ......notes ......etc ...tblpeople ......entityID (pk/fk from tblentity) ......honor ......fname ......mname ......lname ......suffix ......title tbladdresses ......entityID (pk/fk from tblentity) ......addID ......fromdate ......thrudate ......notes ...the 3rd level provides joins for people/orgs with from thru dates, address breakouts for street addresses with mailing/shipping/billing checkboxes, c/s/z/c, electronic addresses, phones, etc all of which allow sharing of common address items, historical tracking, and so on ...been using this general template for going on four years now ...go ahead and retch on it, it works for me :) William Hindman ----- Original Message ----- From: "Jim Dettman" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 3:37 PM Subject: [AccessD] A database design for contacts.... > Hi All, > > In light of recent discussions on lookup tables, I'm curious on how > different people have attacked the contacts problem. For example, let's > say > I need to keep track of Doctors, Attorneys, Therapists, Hospitals, > Clinics, > etc. A contact could be an individual or a group or company. For > example, > I might have three doctors working as a group called Plank Road Medical. > You need to keep track of both the individual doctors and their contact > info > and the contact info for the group. Also the fact that they are all > associated. > > Do you: > > A. Have a table for every possible type of contact? > > or > > B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and > link the two? Do you: > > A. Have a separate table for companies. > > B. Have a flag which indicates if the contact is a company or an > individual > and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the > practical answer. Given the recent thread on Lookups, this is probably a > good topic for discussion. > > Jim. > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Wed May 9 16:26:28 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 9 May 2007 17:26:28 -0400 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS><29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> ...my girl :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 09, 2007 5:00 PM Subject: Re: [AccessD] A database design for contacts.... >I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 1:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO confuses contacts with organizations. (Lately I have been busted > here for such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may have run for office as the rep for district xyz and either won or > lost, both of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who > run for office are affluent, and therefore the odds are that they own > multiple residences, one a home, another a cottage, another a shack in > Martinique -- whatever. No slam intended upon such fortunate people. I > want to concentrate instead upon the problem that Person X has three > addresses, and her domicile therein is dictated by the month of the > year. She will be in Toronto from May to July, then go to Martinique for > a few months, and ten to France just in time for the Cannes film > festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter > to Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is > one of my three favourite problems. I have spend a long time thinking > about it and have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: >> >> Hi All, >> >> In light of recent discussions on lookup tables, I'm curious on how >> different people have attacked the contacts problem. For example, >> let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. For example, I might have three doctors working as a >> group called Plank Road Medical. >> You need to keep track of both the individual doctors and their >> contact info and the contact info for the group. Also the fact that >> they are all associated. >> >> Do you: >> >> A. Have a table for every possible type of contact? >> >> or >> >> B. Have one contact table which includes a contact "type". >> >> >> and the second question; how do you handle companies vs. individuals >> and link the two? Do you: >> >> A. Have a separate table for companies. >> >> B. Have a flag which indicates if the contact is a company or an >> individual and self-join to your single table. >> >> >> I know the right answer, but I'm wondering what everyone feels is the >> practical answer. Given the recent thread on Lookups, this is >> probably a good topic for discussion. >> >> 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From cfoust at infostatsystems.com Wed May 9 16:29:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 9 May 2007 14:29:17 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> References: <002b01c79271$738d0550$8abea8c0@XPS><29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> Message-ID: >>let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 2:26 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A database design for contacts.... ...my girl :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 09, 2007 5:00 PM Subject: Re: [AccessD] A database design for contacts.... >I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 1:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO confuses contacts with organizations. (Lately I have been busted > here for such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may have run for office as the rep for district xyz and either won or > lost, both of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who > run for office are affluent, and therefore the odds are that they own > multiple residences, one a home, another a cottage, another a shack in > Martinique -- whatever. No slam intended upon such fortunate people. I > want to concentrate instead upon the problem that Person X has three > addresses, and her domicile therein is dictated by the month of the > year. She will be in Toronto from May to July, then go to Martinique for > a few months, and ten to France just in time for the Cannes film > festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter > to Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is > one of my three favourite problems. I have spend a long time thinking > about it and have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: >> >> Hi All, >> >> In light of recent discussions on lookup tables, I'm curious on how >> different people have attacked the contacts problem. For example, >> let's say I need to keep track of Doctors, Attorneys, Therapists, >> Hospitals, Clinics, etc. A contact could be an individual or a group >> or company. For example, I might have three doctors working as a >> group called Plank Road Medical. >> You need to keep track of both the individual doctors and their >> contact info and the contact info for the group. Also the fact that >> they are all associated. >> >> Do you: >> >> A. Have a table for every possible type of contact? >> >> or >> >> B. Have one contact table which includes a contact "type". >> >> >> and the second question; how do you handle companies vs. individuals >> and link the two? Do you: >> >> A. Have a separate table for companies. >> >> B. Have a flag which indicates if the contact is a company or an >> individual and self-join to your single table. >> >> >> I know the right answer, but I'm wondering what everyone feels is the >> practical answer. Given the recent thread on Lookups, this is >> probably a good topic for discussion. >> >> 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Wed May 9 16:32:55 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 10 May 2007 01:32:55 +0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert In-Reply-To: <007501c7927c$f4ca09f0$657aa8c0@m6805> Message-ID: <003401c79281$9b60b030$6401a8c0@nant> Hello John, VB.NET 2005 "mimics" all(/most of) usual VB6/VBA functions, which you can use. Trim(...) is in Microsoft.VisualBasic.Strings namespace, which is always available for VB.NET projects therefore you don't even need to use Imports directive or full namespace qualification with Trim(...) function: Dim s As String = " test string " Console.WriteLine("[{0}]",Trim(s)) Results in: [test string] Equivalent native VB.NET function is just: Console.WriteLine("[{0}]", s.Trim()) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 1:00 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 May 9 16:47:39 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 17:47:39 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: <007301c7927b$3b14f390$657aa8c0@m6805> References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> <007301c7927b$3b14f390$657aa8c0@m6805> Message-ID: <29f585dd0705091447k43c59d22u692c9791d9647c2b@mail.gmail.com> I don't think that you want to know, JC. They are intellectually challenging but also guaranteed not to make so much as a dime in the forseeable future. A. On 5/9/07, JWColby wrote: > > >Lately I have been busted here for such opinions, but I plod on. > > LOL, boy do I know that feeling. > > >An organization has one or more contacts (if it has zero, why record it?) > > Just about the only point I take exception to. Often times things are > mailed to an organization, not to a specific person. A phone bill, an > electric bill. The phone company only wants to get the bill in the door, > it > will find its way to the right place after that. > > >In short, you have raised a non-trivial problem. As it happens, it is one > of my three favorite problems. I have spend a long time thinking about it > and have yet to discover a magic bullet. > > Amen, and amen. > > What are the other two favorite problems? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Wednesday, May 09, 2007 4:32 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] A database design for contacts.... > > I've been down this particular road a couple of times, Jim. > > Your brief description masks many duplicate references (m:m tables), and > IMO > confuses contacts with organizations. (Lately I have been busted here for > such opinions, but I plod on.) > > A contact is a Person, not an organization. An organization has one or > more > contacts (if it has zero, why record it?). > > A physician may also be an attorney or a city counsellor (that's what we > call them in Canada, feel free to translate -- the point is this person > may > have run for office as the rep for district xyz and either won or lost, > both > of which facts may be important, depending on the app. > > Now: addresses. The simple fact of the matter is that most people who run > for office are affluent, and therefore the odds are that they own multiple > residences, one a home, another a cottage, another a shack in Martinique > -- > whatever. No slam intended upon such fortunate people. I want to > concentrate > instead upon the problem that Person X has three addresses, and her > domicile > therein is dictated by the month of the year. She will be in Toronto from > May to July, then go to Martinique for a few months, and ten to France > just > in time for the Cannes film festival. > > Addresses, therefore, are scoped by time. No point mailing her a letter to > Montreal when it's time for the Cannes film festival, and so on. > > This could grow even further complicated by the fact that she sells the > cottage in Nantucket and purchases another in New Hampshire. > > In short, you have raised a non-trivial problem. As it happens, it is one > of > my three favourite problems. I have spend a long time thinking about it > and > have yet to discover a magic bullet. > > Arthur > > > On 5/9/07, Jim Dettman wrote: > > > > Hi All, > > > > In light of recent discussions on lookup tables, I'm curious on how > > different people have attacked the contacts problem. For example, > > let's say I need to keep track of Doctors, Attorneys, Therapists, > > Hospitals, Clinics, etc. A contact could be an individual or a group > > or company. For example, I might have three doctors working as a > > group called Plank Road Medical. > > You need to keep track of both the individual doctors and their > > contact info and the contact info for the group. Also the fact that > > they are all associated. > > > > Do you: > > > > A. Have a table for every possible type of contact? > > > > or > > > > B. Have one contact table which includes a contact "type". > > > > > > and the second question; how do you handle companies vs. individuals > > and link the two? Do you: > > > > A. Have a separate table for companies. > > > > B. Have a flag which indicates if the contact is a company or an > > individual and self-join to your single table. > > > > > > I know the right answer, but I'm wondering what everyone feels is the > > practical answer. Given the recent thread on Lookups, this is > > probably a good topic for discussion. > > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 9 16:48:26 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 17:48:26 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert In-Reply-To: <003401c79281$9b60b030$6401a8c0@nant> References: <007501c7927c$f4ca09f0$657aa8c0@m6805> <003401c79281$9b60b030$6401a8c0@nant> Message-ID: <007c01c79283$c6f69b90$657aa8c0@m6805> Yep, that's figured out. Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 09, 2007 5:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Hello John, VB.NET 2005 "mimics" all(/most of) usual VB6/VBA functions, which you can use. Trim(...) is in Microsoft.VisualBasic.Strings namespace, which is always available for VB.NET projects therefore you don't even need to use Imports directive or full namespace qualification with Trim(...) function: Dim s As String = " test string " Console.WriteLine("[{0}]",Trim(s)) Results in: [test string] Equivalent native VB.NET function is just: Console.WriteLine("[{0}]", s.Trim()) -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 1:00 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 09, 2007 4:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert ...go ahead ...tell us you did this fixed price :) William Hindman ----- Original Message ----- From: "JWColby" To: ; "'Access Developers discussion and problem solving'" Sent: Wednesday, May 09, 2007 1:01 PM Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert > Just an FYI. The table that I have been building this whole time > contains > 97.5 million records, exactly 149 (imported) fields and requires 62.6 > Gigabytes of data space inside of SQL Server. It took 2 hours and 28 > minutes just to build the auto increment PK field after the table was > finished importing records. The index space for the table (with just > this single > index) is 101 Megabytes. > > There were 56 raw data files which required 75 gigabytes of disk space > to hold. There were 56 CSV files created after stripping out the > spaces, which required 40.8 Gigabytes of disk space to hold. Thus by > my calculations, > 35 > gigs of disk space was required to hold JUST THE SPACES in the > original fixed width file, with the real data occupying 40.8 GB. It > is interesting to note that the raw data in the CSV file was 41gb > while the data space required in SQL Server is 62 gb. > > As the process was built over time, I do not have accurate specs for > each and every file, but the process of stripping the spaces off of > the fields happened at about 1K records / second. Given 97.5 million > records, this equates to 97.5 thousand seconds to do the space > stripping, which is 27.77 hours. That of course is done in a VBA > application. Again I don't have accurate specs for all of the bulk > inserts, however those that I recorded the times for summed to 71.2 > million records, which took 4674 seconds (1.3 > hours) to import using a BULK INSERT statement, which equates to > approximately 15K records / second. Remember that this BULK INSERT is > importing precleaned data with pipe delimiters. Also remember that > the BULK INSERT itself took 1.3 hours but due to the lack of > automation in feeding the Sproc file names, I had to manually edit the > SPROC each time I wanted to import a new file so the actual import > took much longer, since I wasn't necessarily watching the computer as > the last SPROC run finished. > > So there you go, that is what I have been trying to accomplish this > last few weeks. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of > JWColby > Sent: Wednesday, May 09, 2007 11:02 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > Robert, > > That is much appreciated. Why don't you work with me instead? I am > all for doing it "in SQL Server" (I own and use SQL Server 2005) but > it has to be something that I understand and can modify or I will not > be able to use it in the end, which would make your efforts wasted. > > My high level spec: > > 1) Use a "from directory" which is monitored to pick up files from. > 1a) The from directory changes for each import data set. > 2) Each file in the "from directory" will contain identical formatted > data, but the number of records in the file may vary. > 3) Each file will be defined by an import spec table, which contains > Field Name, Field Width and data type. If no data type is specified, > then > VarChar() is used. The size of the VarChar() field is determined by > the spec table. This allows me to only have to spec data types (in > advance) that I know is not VarChar(), but allows me to spec as many > as I need in advance of the import. > 4) Once the table is built and populated, a new field called PKID > needs to be built. PKID will be INT (32 bit) PRIMARY KEY, IDENTITY. > > Understand that at this time I actually have a functioning system. It > takes a pair of tables which specify the file info (from / to > directories, field delimiter etc) and the field info (field name / > start position in the fixed width data / field length). This program > (written in VBA) does a conversion from fixed width to a pipe > delimited "CSV" file, reading a line, stripping off the spaces, and > writing the stripped data lines back out to a CSV file in the "TO > Directory", complete with the first line containing field names. > At the moment I have a hand constructed table in a hand constructed > database, which is created by an initial use of the wizard from inside > of SQL Server, pulling in the first CSV files created by my program. > Once that table is created, I use a hand created BULK INSERT Sproc to > import the CSV files. Once the table is fully populated with the > contents of all the files, I hand build an ALTER TABLE query to build > a PKID INT PRIMARY KEY, IDENTITY. > > As you can see, anywhere you see "hand created", that is an area that > needs to be automated. My thoughts are that creating the table > initially will be relatively easy, and in fact I know how, building up > a make table query with the field names and widths taken from the spec > table. I just did not do that because I did not have the time. The > next issue is dynamically creating the Sproc that does the Bulk > Insert. > > Now, as to whether the process of importing the data (inside of SQL > Server) > strips off the spaces is really somewhat irrelevant at this point > since I have working code to do this. It is not blazing fast at about > 1000 lines / second (for 150 fields) but it is "fast enough". If I > port that to VB.Net I hope / expect to get a speed increase. The BULK > INSERT SProc that I hand build is currently running about 12K records > / sec (for 150 fields) > > In the end, this really needs to be an external application driving > SQL Server functionality. I need a place to go to fill in the import > spec table, set the from / to directories, set up the name of the > table etc. > My > heartache to this point has been the inability to get the SQL Server > built-in import stuff to import the data without the external strip / > rebuild step, or at least without an elaborate dance to get around any > limitations of SQL Server to do that stuff for me. > > The very next thing I have to do is start exporting just the name / > address (and PK) of this 100 million record table back out for CASS / > NCOA processing. This requires exporting 2 million records at a time, > to a destination directory, with a unique file name (Infutor01.csv, > Infutor02.csv...). Once my CASS program finishes processing I will > have a new set of files in yet another directory that I need to pull > back in to SQL Server. Those files will not require the space > stripping piece since they will not be fixed width. > > I do appreciate all of the advice from all the folks out there that > have contributed. I am slowly but surely learning the pieces and > parts that I need to do this part of my job. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -----Original Message----- > From: dba-sqlserver-bounces at databaseadvisors.com > [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Robert L. > Stewart > Sent: Wednesday, May 09, 2007 9:31 AM > To: dba-sqlserver at databaseadvisors.com > Subject: Re: [dba-SQLServer] Bulk insert > > John, > > I am working on an example of doing this with SQL Server for you. > But, since I have the same amount of free time as you do, it is going > to take a week or so to complete. I am using the same concept as you > did with a couple of table to hold the Import spec and the column > definitions for the spec. I am going to only build it for one table to > show how it can be done. > The rest will be up to you if you want to expand it. > > Robert > > At 09:27 PM 5/8/2007, you wrote: >>Date: Tue, 8 May 2007 13:40:59 -0400 >>From: "JWColby" >>Subject: Re: [dba-SQLServer] Bulk insert >>To: >>Message-ID: <00d901c79198$0a703210$657aa8c0 at m6805> >>Content-Type: text/plain; charset="us-ascii" >> >>Jim, >> >>At this point it is not necessary. I built a preprocessor in a few >>hours using my toy (Access). My toy application handles everything >>exactly as described. Someday (soon I hope) I will port that to >>VB.Net which I hope will be much quicker in the preprocessing department. >>Then I will be considered by some as being a real man, playing with >>real tools. ;-) Others will still consider me a child, playing with >>toys because I didn't take it straight to C#. SOMEDAY (far in the >>future) perhaps I will embed those pieces directly in CLR programming >>inside of SQL Server 2005. Then I will be able to look down my nose >>at > those children still playing with toys. >> >>For now, it works and with the addition of driving the Sproc from the >>vba will be an integrated application like what I described. >> >>John W. Colby > > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > 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 Wed May 9 16:49:12 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 17:49:12 -0400 Subject: [AccessD] A database design for contacts.... In-Reply-To: References: <002b01c79271$738d0550$8abea8c0@XPS> <29f585dd0705091332kdf4274br361f81b83435a97e@mail.gmail.com> Message-ID: <29f585dd0705091449s453bbf77u5994a8830334d8a9@mail.gmail.com> Your solution is precisely what I implied but I guess I didn't say. And the same solution cascades down to the addresses. Arthur On 5/9/07, Charlotte Foust wrote: > > I agree and disagree, Arthur. In some databases, like membership > databases, there are categories of membership which include persons or > organizations. The organization may not provide a contact, but it still > has an address and phone number, so it still needs to be recorded, > particularly if it pays dues or makes contributions. Persons are all > contacts, but not all of them may be associated with an organization. > The same rationale holds true in a "family" database, except that all > families will have at least one person in them at some point in their > existence. > > You can address the problem in part by using a DBMember table that > contains a unique key for each organization or person + a membertype > value. The PK of that table would become the PK of the organization or > person table records. You would need a separate table to make the > connections between person and organization, and some way to indicate > whether a person is the primary contact for that organization. > Addresses, phone numbers, etc. would be linked to the DBMember and would > include a field to categorize them (home, mailing, office, etc.). > > Charlotte Foust > From dw-murphy at cox.net Wed May 9 16:56:48 2007 From: dw-murphy at cox.net (Doug Murphy) Date: Wed, 9 May 2007 14:56:48 -0700 Subject: [AccessD] Pre-Access 2007 runtimes In-Reply-To: <003a01c79280$b4d84510$7d7d6c4c@jisshowsbs.local> Message-ID: <003a01c79284$f17280e0$0200a8c0@murphy3234aaf1> Folks, I know some of you distribute Access applications as runtimes, and quite a few use Sagekey scripts to build the installers. Today I received an email from Sagekey which included the following: -------------------------- "In January 2007 Microsoft released Vista and Access 2007. Both products are significantly different from Microsoft's previously released versions and this is going to affect how successful your current Access Runtime installations are with these products. How much Vista will affect your Access Runtime installation will depend upon the complexity of your application. Access 2007 on the other hand won't co-exist well with previous runtimes, triggering an MSI repair that can take up to 5 minutes to complete, followed by a forced reboot." -------------------------- Some follow up from Sagekey indicates that runtimes installed from their older scripts may have some problems on Vista machines with multiple user accounts, and/or machines with Access 2007 on them. Sagekey has developed new scripts to counter these problems, but you must pay an upgrade price. Before I purchase the updated scripts I'd like a little more info. Has anyone on this list experienced problems with runtimes in these situations? Doug From fuller.artful at gmail.com Wed May 9 17:11:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 9 May 2007 18:11:07 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <007601c7927e$248a5a90$657aa8c0@m6805> References: <007601c7927e$248a5a90$657aa8c0@m6805> Message-ID: <29f585dd0705091511u2984d527v1cea7ea1e2d4ec56@mail.gmail.com> When in doubt, add ".ToString()" to any expression that you expected to work in VBA. You won't be correct 100% of the time, but close. A. On 5/9/07, JWColby wrote: > > I am looking at how to do in VB.Net what in VBA would be str = > trim(mid(str,intStartPos, intLen)) > > I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > > Given what I know about VB.Net (not very darned much) is this the best > way? > I see where the string builder can do the substring part but it does not > have a trim method. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Wed May 9 17:27:35 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 9 May 2007 18:27:35 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> Message-ID: <000001c79289$452bed30$2fb62ad1@SusanOne> Found my error... Set doc = appWord.Documents("CustomerSlip.doc") Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , True) I thought it was an either/or, but apparently it isn't -- you have to set the document name AND include the document's name in the Open method. Susan H. Susan, Sample subroutine as given below, on being tested at my end, is found to work smoothly. Best wishes, A.D.Tejpal --------------- Sample subroutine =============================== Sub P_GetWordDoc() On Error GoTo ErrTrap Dim appWord As Word.Application Dim doc As Word.Document Dim DocPath1 As String, DocPath2 As String DocPath1 = "C:\TEMP\Test 01.doc" DocPath2 = "C:\TEMP\Test 02.doc" On Error Resume Next Err.Clear Set appWord = GetObject(, "Word.Application") If Err.Number <> 0 Then Set appWord = New Word.Application End If On Error GoTo ErrTrap Set doc = appWord.Documents.Open(DocPath1, , True) On Error Resume Next Kill DocPath2 doc.SaveAs DocPath2 ExitPoint: On Error Resume Next doc.Close appWord.Quit Set doc = Nothing Set appWord = Nothing On Error GoTo 0 Exit Sub ErrTrap: MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" Resume ExitPoint End Sub From Jim.Hale at FleetPride.com Wed May 9 17:33:22 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 9 May 2007 17:33:22 -0500 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkin sert Message-ID: So maybe we can roast a whole pig at the conference to celebrate? Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 4:00 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com - *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From shamil at users.mns.ru Wed May 9 18:15:24 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Thu, 10 May 2007 03:15:24 +0400 Subject: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert In-Reply-To: <005a01c79267$897f5a20$657aa8c0@m6805> Message-ID: <003d01c7928f$ec648de0$6401a8c0@nant> Hello John, Did you try to use byte manipulation in VBA? - the following function could be significantly faster than your current generic solution. And when ported to VB.Net it could be even faster. The array of margins used in this function can be filled from your generic descriptions. And this function is a "quick'n 'dirty' agile solution, which can be further optimized if needed: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) '......................................12345678901234567890123456 Private Const TEST_STRING As String = " one two three " Public Sub testPackString() Dim strRet As String Dim avar As Variant avar = Array(1, 7, 14, 17, 26) strRet = PackString(TEST_STRING, avar) Debug.Print strRet End Sub Public Function PackString(ByVal vstr As String, _ ByVal avar As Variant) As String ' Packs string vstr by stripping leading and trailing blanks of the ' fields, which margins are specified by avar array. ' Every packed field except the last one gets pipe char - '|' added. Dim srcBytes() As Byte Dim dstBytes() As Byte Dim i As Integer Dim j As Integer Dim k As Integer Dim sPos As Integer Dim ePos As Integer Dim bytPipe As Byte bytPipe = CByte(Asc("|")) ReDim srcBytes(Len(vstr) * 2 + 2) ReDim dstBytes(Len(vstr) * 2 + UBound(avar) + 2) CopyMemory ByVal VarPtr(srcBytes(0)), _ ByVal StrPtr(vstr), Len(vstr) * 2 k = 0 For i = LBound(avar) To UBound(avar) - 1 sPos = -1 For j = avar(i) To avar(i + 1) If srcBytes(j * 2 - 2) <> 32 Then sPos = j * 2 - 2 Exit For End If Next j If sPos <> -1 Then For j = avar(i + 1) To avar(i) Step -1 If srcBytes(j * 2 - 2) <> 32 Then ePos = j * 2 - 2 Exit For End If Next j End If If sPos <> -1 Then CopyMemory ByVal VarPtr(dstBytes(k)), _ ByVal VarPtr(srcBytes(sPos)), ePos - sPos + 2 k = k + ePos - sPos + 2 End If dstBytes(k) = bytPipe k = k + 2 Next i PackString = String(k / 2 - 1, Chr(0)) CopyMemory ByVal StrPtr(PackString), _ ByVal VarPtr(dstBytes(0)), k - 2 End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.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 accessd at shaw.ca Wed May 9 19:37:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 09 May 2007 17:37:06 -0700 Subject: [AccessD] A database design for contacts.... In-Reply-To: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <0JHS005PGUUF9UN3@l-daemon> Hi Jim: Comments inline... >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". There must be a fixed list of contract types so one table should be enough with a key of each "type" code. > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an > individual and self-join to your single table. Set the relationship from 'Company' to 'Individual'. The relationship can be standardized by placing a dummy value of "Selfxxxx" in the company field if the individual does not work for a Company Jim From jwcolby at colbyconsulting.com Wed May 9 20:08:22 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 21:08:22 -0400 Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkin sert In-Reply-To: References: Message-ID: <000601c7929f$bd315250$657aa8c0@m6805> Well there ya go! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 09, 2007 6:33 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer]Bulkin sert So maybe we can roast a whole pig at the conference to celebrate? Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 4:00 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulkinsert Whadayathinkimstupid? However... Once I am done with my import widget I will do these fixed price, and make a killing. John W. Colby Colby Consulting www.ColbyConsulting.com - *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 9 20:11:11 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Wed, 9 May 2007 21:11:11 -0400 Subject: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert In-Reply-To: <003d01c7928f$ec648de0$6401a8c0@nant> References: <005a01c79267$897f5a20$657aa8c0@m6805> <003d01c7928f$ec648de0$6401a8c0@nant> Message-ID: <000701c792a0$1a0b9da0$657aa8c0@m6805> WOW! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, May 09, 2007 7:15 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Hello John, Did you try to use byte manipulation in VBA? - the following function could be significantly faster than your current generic solution. And when ported to VB.Net it could be even faster. The array of margins used in this function can be filled from your generic descriptions. And this function is a "quick'n 'dirty' agile solution, which can be further optimized if needed: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) '......................................12345678901234567890123456 Private Const TEST_STRING As String = " one two three " Public Sub testPackString() Dim strRet As String Dim avar As Variant avar = Array(1, 7, 14, 17, 26) strRet = PackString(TEST_STRING, avar) Debug.Print strRet End Sub Public Function PackString(ByVal vstr As String, _ ByVal avar As Variant) As String ' Packs string vstr by stripping leading and trailing blanks of the ' fields, which margins are specified by avar array. ' Every packed field except the last one gets pipe char - '|' added. Dim srcBytes() As Byte Dim dstBytes() As Byte Dim i As Integer Dim j As Integer Dim k As Integer Dim sPos As Integer Dim ePos As Integer Dim bytPipe As Byte bytPipe = CByte(Asc("|")) ReDim srcBytes(Len(vstr) * 2 + 2) ReDim dstBytes(Len(vstr) * 2 + UBound(avar) + 2) CopyMemory ByVal VarPtr(srcBytes(0)), _ ByVal StrPtr(vstr), Len(vstr) * 2 k = 0 For i = LBound(avar) To UBound(avar) - 1 sPos = -1 For j = avar(i) To avar(i + 1) If srcBytes(j * 2 - 2) <> 32 Then sPos = j * 2 - 2 Exit For End If Next j If sPos <> -1 Then For j = avar(i + 1) To avar(i) Step -1 If srcBytes(j * 2 - 2) <> 32 Then ePos = j * 2 - 2 Exit For End If Next j End If If sPos <> -1 Then CopyMemory ByVal VarPtr(dstBytes(k)), _ ByVal VarPtr(srcBytes(sPos)), ePos - sPos + 2 k = k + ePos - sPos + 2 End If dstBytes(k) = bytPipe k = k + 2 Next i PackString = String(k / 2 - 1, Chr(0)) CopyMemory ByVal StrPtr(PackString), _ ByVal VarPtr(dstBytes(0)), k - 2 End Function -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:26 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - wasRE:[dba-SQLServer] Bulk insert Eric, >I believe that could be where the speed issues are in your white space stripping operation. This is my hope. I am about to do the port. I will be doing testing to do comparisons. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Wednesday, May 09, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE:[dba-SQLServer] Bulk insert VB's weakness is string manipulation. I believe that could be where the speed issues are in your white space stripping operation. This is especially evident when you have a loop that concatenates strings. .NET's StringBuilder class is much more efficient. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Wednesday, May 09, 2007 10:53 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Gustav, >It stresses that BULK INSERT is mandatory for this level of data sizes. Oh yea!!! I haven't found any other way that makes this size import doable. >One thing that strikes me, however, is the slow performance of your >space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. Nope, just remove spaces and write back out to a pipe delimited file. I have a pair of classes that do this. One loads clsFile - the file spec info (file name stuff, from / to dirs etc) and the other uses one instance per field, and loads one field of the field spec table - clsField. The basic operation is load the filespec class, then a collection of field spec classes. Each field spec class knows what it's field name is, where in the string it's field starts, and how wide it's field is. The file spec then opens a stream object and does a readline into a strLineIn variable. The clsFileSpec iterates its collection of clsField instances, and this strLineIn variable is passed in turn to each field class instance. The field class does a midstr() to pull out precisely the data section that it has to process and stores it in a strData variable / property (pData). The field class then strips off the leading and trailing spaces. Once clsFileSpec has read the strLineIn and passed that in turn to each clsField, it has a collection of clsField instances each holding a stripped section of the original strLine. clsFile then iterates that clsField collection appending each clsField.pData plus a "|" to strLineOut. When it has processed each clsField instance it is done assembling the strLineOut, which it then writes to an output stream. Line in, parse / strip, line out, repeat until done. I do a little logging of the file name / time to do the entire operation on the file etc. 99.99% of the time is in the parse / strip operation out in the clsField instances. Remember that the time to do this varies with the data and the data file. The first file I did had well over SEVEN HUNDRED fields / line. This specific file had 149 fields in it. How many lines per second will be most heavily influenced by the number of fields per line. Not all of them have spaces, but how do I tell? This is a generic solution, so that I can use it on the next file, not custom programmed for one specific file. I think this application will port quite easily to VB.Net though I haven't done so yet. When I do I will run the thing again and give comparison numbers. I do hope / expect that VB.Net will be significantly faster in processing the field - parse / strip. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 09, 2007 1:18 PM To: accessd at databaseadvisors.com Subject: [AccessD] Infutor Statistics - was RE: [dba-SQLServer] Bulk insert Hi John Thanks for sharing. Quite a story. It stresses that BULK INSERT is mandatory for this level of data sizes. One thing that strikes me, however, is the slow performance of your space stripping; 1000 lines/s is not very much. But I guess you do more than just removing spaces. /gustav >>> jwcolby at colbyconsulting.com 09-05-2007 19:01 >>> Just an FYI. The table that I have been building this whole time contains 97.5 million records, exactly 149 (imported) fields and requires 62.6 Gigabytes of data space inside of SQL Server. It took 2 hours and 28 minutes just to build the auto increment PK field after the table was finished importing records. The index space for the table (with just this single index) is 101 Megabytes. There were 56 raw data files which required 75 gigabytes of disk space to hold. There were 56 CSV files created after stripping out the spaces, which required 40.8 Gigabytes of disk space to hold. Thus by my calculations, 35 gigs of disk space was required to hold JUST THE SPACES in the original fixed width file, with the real data occupying 40.8 GB. It is interesting to note that the raw data in the CSV file was 41gb while the data space required in SQL Server is 62 gb. As the process was built over time, I do not have accurate specs for each and every file, but the process of stripping the spaces off of the fields happened at about 1K records / second. Given 97.5 million records, this equates to 97.5 thousand seconds to do the space stripping, which is 27.77 hours. That of course is done in a VBA application. Again I don't have accurate specs for all of the bulk inserts, however those that I recorded the times for summed to 71.2 million records, which took 4674 seconds (1.3 hours) to import using a BULK INSERT statement, which equates to approximately 15K records / second. Remember that this BULK INSERT is importing precleaned data with pipe delimiters. Also remember that the BULK INSERT itself took 1.3 hours but due to the lack of automation in feeding the Sproc file names, I had to manually edit the SPROC each time I wanted to import a new file so the actual import took much longer, since I wasn't necessarily watching the computer as the last SPROC run finished. So there you go, that is what I have been trying to accomplish this last few weeks. John W. Colby Colby Consulting www.ColbyConsulting.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 jedi at charm.net Wed May 9 20:59:45 2007 From: jedi at charm.net (Michael Bahr) Date: Wed, 09 May 2007 21:59:45 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <007601c7927e$248a5a90$657aa8c0@m6805> References: <007601c7927e$248a5a90$657aa8c0@m6805> Message-ID: <200705092159450390.155A85FE@mail.cablespeed.com> Hi John, have you looked at regular expressions?? You can do a lot of things in one line. I know VB 6 had them and VB.net should also have them. Mike... *********** REPLY SEPARATOR *********** On 5/9/2007 at 5:08 PM JWColby wrote: >I am looking at how to do in VB.Net what in VBA would be str = >trim(mid(str,intStartPos, intLen)) > >I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > >Given what I know about VB.Net (not very darned much) is this the best way? >I see where the string builder can do the substring part but it does not >have a trim method. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com From dwaters at usinternet.com Wed May 9 21:35:52 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 9 May 2007 21:35:52 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Message-ID: <000b01c792ab$ee23b950$0200a8c0@danwaters> I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? Thanks! Dan From darrend at nimble.com.au Wed May 9 22:37:18 2007 From: darrend at nimble.com.au (Darren D) Date: Thu, 10 May 2007 13:37:18 +1000 Subject: [AccessD] A2003:Determining Key Press Message-ID: <200705100337.l4A3bF7C015680@databaseadvisors.com> Hi All I used to have code for this ? an old project being brought back to life ? But I can?t find the specific code Anyway?Does anyone have samples so that I can tell if the left or right mouse button has been clicked on a form somewhere? Many thanks in advance Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM From john at winhaven.net Wed May 9 22:39:32 2007 From: john at winhaven.net (John Bartow) Date: Wed, 9 May 2007 22:39:32 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <000b01c792ab$ee23b950$0200a8c0@danwaters> References: <000b01c792ab$ee23b950$0200a8c0@danwaters> Message-ID: <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? From stuart at lexacorp.com.pg Wed May 9 22:56:28 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 10 May 2007 13:56:28 +1000 Subject: [AccessD] A2003:Determining Key Press In-Reply-To: <200705100337.l4A3bF7C015680@databaseadvisors.com> References: <200705100337.l4A3bF7C015680@databaseadvisors.com> Message-ID: <4643248C.9490.23A8FF31@stuart.lexacorp.com.pg> Take a look at the event: Private Sub Detail_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) On 10 May 2007 at 13:37, Darren D wrote: > Hi All > > > > I used to have code for this ? an old project being brought back to life ? But I > can?t find the specific code > > > > Anyway?Does anyone have samples so that I can tell if the left or right mouse > button has been clicked on a form somewhere? > > > > Many thanks in advance > > > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From darrend at nimble.com.au Thu May 10 00:16:12 2007 From: darrend at nimble.com.au (Darren D) Date: Thu, 10 May 2007 15:16:12 +1000 Subject: [AccessD] A2003:Determining Key Press In-Reply-To: <4643248C.9490.23A8FF31@stuart.lexacorp.com.pg> Message-ID: <200705100516.l4A5GASh008422@databaseadvisors.com> Hi Stuart Brilliant - It put me on the path to what was needed - now all fixed Many thanks Have a great day Darren ------------------ -----Original Message----- From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] Sent: Thursday, 10 May 2007 1:56 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2003:Determining Key Press Take a look at the event: Private Sub Detail_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) On 10 May 2007 at 13:37, Darren D wrote: > Hi All > > > > I used to have code for this ? an old project being brought back to life ? But I > can?t find the specific code > > > > Anyway?Does anyone have samples so that I can tell if the left or right mouse > button has been clicked on a form somewhere? > > > > Many thanks in advance > > > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/794 - Release Date: 08/05/2007 2:23 PM From carbonnb at gmail.com Thu May 10 06:52:22 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Thu, 10 May 2007 07:52:22 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000001c79289$452bed30$2fb62ad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> Message-ID: On 5/9/07, Susan Harkins wrote: > Found my error... > > Set doc = appWord.Documents("CustomerSlip.doc") > Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , True) > > I thought it was an either/or, but apparently it isn't -- you have to set > the document name AND include the document's name in the Open method. It is an either/or. The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? -- 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 jwcolby at colbyconsulting.com Thu May 10 07:02:24 2007 From: jwcolby at colbyconsulting.com (JWColby) Date: Thu, 10 May 2007 08:02:24 -0400 Subject: [AccessD] VB.Net - XML comments Message-ID: <000d01c792fb$1743bbb0$657aa8c0@m6805> I am using xml comments in place of my regular old comments. Has anyone ever found / used something that yanks the comments out to see what they look like as documentation? What would I use to do that? John W. Colby Colby Consulting www.ColbyConsulting.com From JHewson at karta.com Thu May 10 07:29:04 2007 From: JHewson at karta.com (Jim Hewson) Date: Thu, 10 May 2007 07:29:04 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> References: <000b01c792ab$ee23b950$0200a8c0@danwaters> <024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 09, 2007 10:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Thu May 10 07:30:48 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 10 May 2007 18:00:48 +0530 Subject: [AccessD] A database design for contacts.... References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: Jim, Apparently, the objective is to extract different profiles of output / report, using the available data of contacts. A given contact might feature in more than one profile, without involving any duplication of stored data. For instance, profile named "Visit_UK", would not only include the particulars of contacts in UK (friends/relatives/hotels etc), but also those of travel agents / airlines etc in the home country. On the other hand, profile named "Visit_Australia" would include similar information pertaining to Australia & home country. In both the above profiles, many of the items pertaining to home country would be common. However, the list delivered by each profile is complete and self contained. Use of an ancillary table having fields ContactID (as FK), and Link (holding the profile name) is found convenient. Data entry to this table takes place via a subform on the main form used for entering contacts data. Drop down list showing all existing profile names facilitates entries in the subform. Printing the final report for a given profile becomes very simple, as the only criteria needed is profile name. It over-rides all existing classifications and pulls the required information into one consolidated list. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Jim Dettman To: 'Access Developers discussion and problem solving' Sent: Thursday, May 10, 2007 01:07 Subject: [AccessD] A database design for contacts.... Hi All, In light of recent discussions on lookup tables, I'm curious on how different people have attacked the contacts problem. For example, let's say I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, etc. A contact could be an individual or a group or company. For example, I might have three doctors working as a group called Plank Road Medical. You need to keep track of both the individual doctors and their contact info and the contact info for the group. Also the fact that they are all associated. Do you: A. Have a table for every possible type of contact? or B. Have one contact table which includes a contact "type". and the second question; how do you handle companies vs. individuals and link the two? Do you: A. Have a separate table for companies. B. Have a flag which indicates if the contact is a company or an individual and self-join to your single table. I know the right answer, but I'm wondering what everyone feels is the practical answer. Given the recent thread on Lookups, this is probably a good topic for discussion. Jim. -- From rl_stewart at highstream.net Wed May 9 18:01:19 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Wed, 09 May 2007 18:01:19 -0500 Subject: [AccessD] A database design for contacts In-Reply-To: References: Message-ID: <200705101238.l4ACcR1N030188@databaseadvisors.com> Jim, I did not consider contacts as the thing I was designing for, I thought of it as names in general. Having designed one that is being sold as part of a package, I designed it as follows: tblName - any kind of name tblNameRelationship - Relates names to each other and how they are related. related to tblName 2 ways NameID and RelatedNameID tblNameNametype - all the types that a name can be since name can be of more than one type. related to tblName and tlkpNameType tblNameAddress - all addresses associated with a name linked to tblName tblNameAddressType - all of the types associated with a specific address linked to tblNameAddreas and tlkpAddressType tblNamePhones - all phone numbers associated with a name liked to tblName and tlkpPhoneType tblNameEmail - all email addresses associated with a name liked to tblName and tlkpEmailType tlkpNameType - a list of all the types of names used tlkpAddressType - a list of all address types tlkpPhoneType - a list of all phone types tlkpEmailType - a list of all email types The design above would allow you to associate a doctor with a practice, a clinic, and a hospital. It is extremely flexible. At 04:32 PM 5/9/2007, you wrote: >Date: Wed, 09 May 2007 15:37:15 -0400 >From: "Jim Dettman" >Subject: [AccessD] A database design for contacts.... >To: "'Access Developers discussion and problem solving'" > >Message-ID: <002b01c79271$738d0550$8abea8c0 at XPS> >Content-Type: text/plain; charset="us-ascii" > >Hi All, > > In light of recent discussions on lookup tables, I'm curious on how >different people have attacked the contacts problem. For example, let's say >I need to keep track of Doctors, Attorneys, Therapists, Hospitals, Clinics, >etc. A contact could be an individual or a group or company. For example, >I might have three doctors working as a group called Plank Road Medical. >You need to keep track of both the individual doctors and their contact info >and the contact info for the group. Also the fact that they are all >associated. > > Do you: > >A. Have a table for every possible type of contact? > >or > >B. Have one contact table which includes a contact "type". > > > and the second question; how do you handle companies vs. individuals and >link the two? Do you: > >A. Have a separate table for companies. > >B. Have a flag which indicates if the contact is a company or an individual >and self-join to your single table. > > > I know the right answer, but I'm wondering what everyone feels is the >practical answer. Given the recent thread on Lookups, this is probably a >good topic for discussion. > >Jim. > From Lambert.Heenan at AIG.com Thu May 10 08:11:46 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 09:11:46 -0400 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reade r Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DCFB@xlivmbx35.aig.com> That was my take of the subject too. On topic. As for the solution to the problem... It's plain that he cannot just ask the OS to use the registered application to open the file, so perhaps the answer is to give the ability to choose which application will open PDF files with, by letting the user browse to the location of the of the .exe to be used. This would be a "one-time" setup action. Then, assuming some generic fHandleFile() (http://www.mvps.org/access/api/api0018.htm) routine is being used to open registered file type, an exception can be added such that if the file type is .pdf and an alternate app. has been selected, go use the Access registered app. instead of the Windows registered one. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Thursday, May 10, 2007 8:29 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow Sent: Wednesday, May 09, 2007 10:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader Hi Dan, While installing Acrobat ver 8 Pro I saw, but paid little attention to a message that all adobe reader software would be (or possibly "should be") removed. This could possibly be the cause of your issues. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters I have a client who uses my system to sometimes open acrobat files (via hyperlink). Both Reader 7.0 and Standard 8.0 are on his PC. He has set an option in Standard to normally have files open in Reader. But when he opens using my system the file will open in Standard. Is there a way I can do something about this? Perhaps open Reader first and then the file? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ebarro at verizon.net Thu May 10 08:11:52 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 10 May 2007 06:11:52 -0700 Subject: [AccessD] [dba-VB] VB.Net - XML comments In-Reply-To: <000d01c792fb$1743bbb0$657aa8c0@m6805> Message-ID: <0JHT00080TZNNB51@vms044.mailsrvcs.net> Did you mean to say "how do I strip the XML tags and end up with just the content"? You can use regular expressions to strip off XML or HTML tags. This is the syntax I use (for VB.NET or C#)... NewTextValue.Text = Regex.Replace(OriginalTextValue,@"<(.|\n)*?>",string.Empty); -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby Sent: Thursday, May 10, 2007 5:02 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [dba-VB] VB.Net - XML comments I am using xml comments in place of my regular old comments. Has anyone ever found / used something that yanks the comments out to see what they look like as documentation? What would I use to do that? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 08:19:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 09:19:16 -0400 Subject: [AccessD] Moving Outlook - let me waste my day Message-ID: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby From Lambert.Heenan at AIG.com Thu May 10 08:30:38 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 08:30:38 -0500 Subject: [AccessD] Moving Outlook - let me waste my day Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD16@xlivmbx35.aig.com> Ain't this a tad off topic? :-) Try gMail? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 9:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 08:49:12 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 09:49:12 -0400 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD16@xlivmbx35.aig.com> Message-ID: <20070510134918.BBF3CBEFA@smtp-auth.no-ip.com> LOL, VERY off topic. Put it under "application design" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Thursday, May 10, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Moving Outlook - let me waste my day Ain't this a tad off topic? :-) Try gMail? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 9:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. 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 ssharkins at setel.com Thu May 10 09:03:56 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 10:03:56 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> Message-ID: <006b01c7930c$0d470fc0$0632fad1@SusanOne> On 5/9/07, Susan Harkins wrote: > Found my error... > > Set doc = appWord.Documents("CustomerSlip.doc") > Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", , > True) > > I thought it was an either/or, but apparently it isn't -- you have to > set the document name AND include the document's name in the Open method. It is an either/or. The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. Susan H. From John.Clark at niagaracounty.com Thu May 10 09:09:49 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 10:09:49 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <4642EF6B.167F.006B.0@niagaracounty.com> I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From bbruen at unwired.com.au Thu May 10 09:03:15 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:03:15 +1000 Subject: [AccessD] VB.Net - XML comments In-Reply-To: <000d01c792fb$1743bbb0$657aa8c0@m6805> References: <000d01c792fb$1743bbb0$657aa8c0@m6805> Message-ID: <200705110003.18204.bbruen@unwired.com.au> John, If, as I believe you are, using #D there is an ndoc link available that produces A1 documentation - but its a bit of a learning curve (for me about 6-8 hours, for you about 2-3??? :-) On Thursday 10 May 2007 22:02, JWColby wrote: > I am using xml comments in place of my regular old comments. Has anyone > ever found / used something that yanks the comments out to see what they > look like as documentation? What would I use to do that? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com -- regards Bruce From bbruen at unwired.com.au Thu May 10 09:09:11 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:09:11 +1000 Subject: [AccessD] A database design for contacts.... In-Reply-To: References: <002b01c79271$738d0550$8abea8c0@XPS> Message-ID: <200705110009.11960.bbruen@unwired.com.au> A quick pointer, hopefully. OASYS has done a lot of work on person/address/contatc statndardisation. I dont have the link but IIRC you can at it through OMG. -- regards Bruce From markamatte at hotmail.com Thu May 10 09:22:23 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 14:22:23 +0000 Subject: [AccessD] Report to Excel_ In-Reply-To: Message-ID: Hello All, In A97 I have isolated my newest problem. I using the following to output a report to excel: DoCmd.OutputTo acOutputReport, strReport, acFormatXLS, strpathTemp1 The machine in question has excel 03...and when it tries to open the file created above...I get an error: "an invalid sheetname was used and had to be corrected" I looked at this file on a box with just office 97...and the sheetname was Sheet1...no problems...I can manually change it back to Sheet1 and it saves fine. Any one have any ideas? Thanks, Mark A. Matte >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Report to Excel_ >Date: Wed, 09 May 2007 18:26:50 +0000 > >Thanks John, > >I didn't know how to use a recordset...because the data I wanted out went >through some heavy formatting in the report. Thats why I think I am stuck >with the OUTPUTTO method, unless I choose to do all of my formatting after. > The report's formatting is dependant on user input...they decide what >columns are included, what order the columns are in, and the columns are >colored depending what order they are selected in. Most of this is done >behind the report in VBA. > >That part I finished...and with the last input from Shamil...I got the >sheets into 1 workbook. > >Thanks to All for the support and suggestions. > >Thanks again, > >Mark A. Matte > > >>From: "John Skolits" >>Reply-To: Access Developers discussion and problem >>solving >>To: "'Access Developers discussion and problem >>solving'" >>Subject: Re: [AccessD] Report to Excel_ >>Date: Wed, 9 May 2007 14:05:32 -0400 >> >>I just tried this.. >> >>After I pasted my data, I then added another worksheet like this: >> >>objXLBook.Worksheets.Add >> >>Then I referred to it as objXLBook.Worksheets(2) >> >>And was then able to paste data into another sheet in the same workbook. >> >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Wednesday, May 09, 2007 10:26 AM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Report to Excel_ >> >>Thanks John, >> >>I got the formatting the way I needed it...I used the report to determine >>what order the columns would be in...and then changed the font,color,etc >>in >>excel. >> >>Now I just need to get the sheets into a single workbook. >> >>Thanks, >> >>Mark >> >> >> >> >From: "John Skolits" >> >Reply-To: Access Developers discussion and problem >> >solving >> >To: "'Access Developers discussion and problem >> >solving'" >> >Subject: Re: [AccessD] Report to Excel_ >> >Date: Tue, 8 May 2007 18:02:47 -0400 >> > >> >Mark, >> > >> >I've been kind-of following this thread and thought I'd share my code >>with >> >you. >> >It may not help you with what you're doing, but it's a slightly >>different >> >approach. >> >I use an Excel sheet as a template to do some of my formatting. I open >>it, >> >use the CopyFromRecordset function to paste the data into Excel, then do >>a >> >"Save AS". The nice thing about the template is you can make a >>formatting >> >change to it instead of having to do it in the code. There will probably >>be >> >some need to still do some vba-code formatting of the spreadsheet, but >>this >> >can cut down on some of the coding. >> > >> >Note: You can't paste the code below and run it because I cut it up a >> >little >> >to make it more succinct, but it may give you some other ideas. I also >>have >> >some error trapping codes at the end that may help. >> > >> >John >> >---- >> > >> > >> >Private Sub btnExportToExcelX() >> > >> >On Error GoTo Err_btnExportToExcel >> > >> >Dim objXLBook As Excel.Workbook >> >Dim rsFinalBidQuery As dao.Recordset, varResults As Variant >> >Dim objXLRange As Excel.Range, objXLApp As Excel.Application >> >Dim objResultsSheet As Excel.Worksheet >> >Dim intMaxCol As Integer >> >Dim intMaxRow As Integer >> >Dim strExportFilename As String, strFullXLTemplateFilename As String >> > >> >strExportFilename =TestWorkbook.xls" >> >strFullXLTemplateFilename = "c:\ExcelTemplateFile.xls" >> > >> >Set objXLBook = GetObject(strFullXLTemplateFilename) >> >Set objXLApp = objXLBook.Parent >> >Set objResultsSheet = objXLBook.Worksheets(1) >> > >> >Set rsFinalBidQuery = CurrentDb().OpenRecordset("qryToExport") >> > rsFinalBidQuery.MoveLast >> > rsFinalBidQuery.MoveFirst >> > >> > '*Store the data in the worksheet >> > intMaxCol = rsFinalBidQuery.Fields.Count >> > If rsFinalBidQuery.RecordCount > 0 Then >> > intMaxRow = rsFinalBidQuery.RecordCount >> > With objXLApp >> > With objResultsSheet >> > .Range(.Cells(11, 2), .Cells(11 + intMaxRow, 2 + >> >intMaxCol)).CopyFromRecordset rsFinalBidQuery >> > End With >> > End With >> > End If >> > >> >rsFinalBidQuery.Close >> > >> >'Add some values to specific defined cells >> >objResultsSheet.Range("PartNum").Value = "PN# 1234" >> >objResultsSheet.Range("PartDesc").Value = "Description" >> > >> >objXLBook.Parent.Windows(objXLBook.Name).Visible = True >> > >> >'Save it as a new name >> >objXLBook.SaveAs strExportFilename >> >objXLApp.Visible = True >> > >> >' Release the object variable >> >Set objXLBook = Nothing >> > >> >BuildXLBidReport_EXIT: >> >Set rsFinalBidQuery = Nothing >> > >> >DoCmd.Hourglass False >> >DoCmd.Echo True >> > >> >Exit Sub >> > >> >BuildXLBidReport_ERR: >> > >> >'If user picks to cancel the opening of the worksheet because of the >>excel >> >macro message this error occurs >> >If Err = 287 Then Resume BuildXLBidReport_EXIT >> > >> >If Err = 70 Then >> > MsgBox " Make sure this worksheet **" & strExportFilename & "** >>isn't >> >alreday open.", 64, "Excel Sheet Open" >> > Resume BuildXLBidReport_EXIT >> >End If >> >If Err = 1004 Then >> > MsgBox " Make sure this worksheet **" & strExportFilename & "** >>isn't >> >alreday open.", 64, "Excel Sheet Open" >> > objXLBook.Application.Quit >> > ' Release the object variable >> > Set objXLBook = Nothing >> > Resume BuildXLBidReport_EXIT >> >End If >> > >> >'Display the error >> > >> > Dim strCallingObject As String >> > strCallingObject = "BuildXLBidReport" & " " & >> >Application.CurrentObjectName & " Line: " & Erl >> > lg_VarTemp = lbf_ErrorMessage(Err, Error, strCallingObject) >> > Resume BuildXLBidReport_EXIT >> > >> > Dim oApp As Object >> > >> > Set oApp = CreateObject("Excel.Application") >> > oApp.Visible = True >> > 'Only XL 97 supports UserControl Property >> > On Error Resume Next >> > oApp.UserControl = True >> > >> >Exit_btnExportToExcel: >> > Exit Sub >> > >> >Err_btnExportToExcel: >> > MsgBox Err.Description >> > Resume Exit_btnExportToExcel >> > >> >End Sub >> > >> > >> > >> >-- >> >AccessD mailing list >> >AccessD at databaseadvisors.com >> >http://databaseadvisors.com/mailman/listinfo/accessd >> >Website: http://www.databaseadvisors.com >> >>_________________________________________________________________ >>Like the way Microsoft Office Outlook works? Youll love Windows Live >>Hotmail. >>http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >>n_HM_mini_outlook_0507 >> >> >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Like the way Microsoft Office Outlook works? You?ll love Windows Live >Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From bbruen at unwired.com.au Thu May 10 09:16:49 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:16:49 +1000 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <200705110016.50376.bbruen@unwired.com.au> This may amuse you. but... AFAIC moving the mailbox / setup in Outlook is trivial compared to moving a linux mail client, the config and data is spread out over ~6 directories and most of the B****rs are hidden. 1 day - ha! Bet you even stopped for lunch, last time I upgraded it took me 5 days to get mail back on an even keel. Still, I'm sticking to linux. Only got one M$ box left for client work, I suppose I could move it to VM but seeing its a 10 year old Gateway notebook thats still just chugging away ... On Thursday 10 May 2007 23:19, jwcolby wrote: > My notebook is giving me blue screens, so I moved Outlook to another > machine. Now I have to set it up again. Who designed this beast? The > mail transferred in the PST. The contacts transferred. The email accounts > did not. The look did not. I am totally lost trying to figure out how to > make the damned thing operate the way it used to. Using the registry is a > GREAT CONCEPT, but in operation just sucks. > > Note to self, if I am ever going to use the registry to store operational > settings, provide a "move" method for taking those settings to a new > machine. > > Note to Microsoft, DO THE SAME!!! > > Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a > single thing. Stuff is scattered from here to hell and back. > > I found this. > > http://office.microsoft.com/en-us/outlook/HA010549451033.aspx > > Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email > from one place to another. > > Rant mode off > > Don't have a signature, haven't found that yet. > > John W. Colby -- regards Bruce From Lambert.Heenan at AIG.com Thu May 10 09:27:15 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 10 May 2007 09:27:15 -0500 Subject: [AccessD] Access at a distance Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C206D3DD83@xlivmbx35.aig.com> John, It will certainly be slow, although I've had people using one of my apps over a cable modem VPN connection and it was just about usable. In general, all the processing is done on the local machine, so it pulls a lot of data down the line that winds up not being used. With good indexing this can be reduced, but it's still pretty slow IMHO. You may want to look into replication, which gives the remote office a copy of the data and they would synchronize from time to time - once a week, day? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 10:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From fuller.artful at gmail.com Thu May 10 09:27:29 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 10:27:29 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <29f585dd0705100727i54a005f6vd0e44b46c4ec6508@mail.gmail.com> I would suggest using Terminal Services, but that might be out of the price range. It requires a dedicated machine that would run Terminal Services and anyone remote would log onto that machine. The performance is just as if they were there, and you can take the concept way past two machines. Arthur On 5/10/07, John Clark wrote: > > I've got a question, which I've never had answered satisfactorily. Does > Access pull the entire DB over a line, when accessed remotely, or does it > just pull a sub-set of the date, as requested by a query? > > The reason I am asking is that we have an Access DB, designed by the > state, that is currently being used in a Niagara Falls department. They have > another office in Lockport, which is about 20-25 miles, to the East, and > they just asked that we install this program (the client) on two PCs in the > Lockport office. > > I think that it is going to run dog slow, because whenever I've tried to > run a few programs I have up there, from my desk...also in Lockport...it is > very slow. I don't mind so much, because I am usually just checking things > out, or troubleshooting something, but if I have to do anything major, I > copy it down to my PC to do the work, and then load it back up. > > My boss seems to think it is fine. He said, at his former company they ran > an Access app between Niagara Falls and Dallas, and it was slow but doable. > He said an operation that ran in 2 sec., would now take about 20 sec.. This > is fine for someone like me, to do something once in a while, but a data > entry person will go nuts w/these times. > > So, basically I am looking for some definitive information regarding this, > so that I can make a better decision about going ahead w/this. > > Thank you! > > John W Clark > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From john at winhaven.net Thu May 10 09:29:15 2007 From: john at winhaven.net (John Bartow) Date: Thu, 10 May 2007 09:29:15 -0500 Subject: [AccessD] Acrobat 8 Standard opens instead of Acrobat 7 Reader In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> References: <000b01c792ab$ee23b950$0200a8c0@danwaters><024001c792b4$d34a9f00$6402a8c0@ScuzzPaq> <9C382E065F54AE48BC3AA7925DCBB01C051B621E@karta-exc-int.Karta.com> Message-ID: <009901c7930f$96eebf90$6402a8c0@ScuzzPaq> If his system is an Access system that is certainly true and if so I retract the statement that it is off-topic. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson I don't understand why this is off topic. He uses Access to open Acrobat reader, presumably for a report that was generated by Access. From ssharkins at setel.com Thu May 10 09:30:27 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 10:30:27 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <000301c7930f$c1abc200$4cbc2ad1@SusanOne> John, If possible, use disconnected recordsets to retrieve data from the network, work with locally, and then submit back to the network for batch updates. If data entry doesn't need to be live, that's a good solution, unless of course, you've got several data entry operators working on the same records -- that can spell trouble with the batch updates. If that's the case, you need to consider replication, which is a completely different critter. Susan H. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. From bbruen at unwired.com.au Thu May 10 09:29:08 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Fri, 11 May 2007 00:29:08 +1000 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <200705110029.09974.bbruen@unwired.com.au> John, Fundamentally, AFAIK, Access will use a full cursor transfer for each SQL access to the data. So if your app is not tuned for network performance using FE/client side queries instead of BE/server queries, you get the full cursor transfer everytime you access the BE. Note, SELECT f1,f2,..fn from T1 JOIN T2,..Tn WHERE blah=blahblah; executed from the client side will get you the whole damn dataset as it is the client that is executing the SQL parsing and processing. IOW you are transferring the entire set of tables from T1 to Tn. AFAIK, this is still true at A23k. What I dont know (thankfully) is whether the age old problem of cursor transfer via Novell still exists, as (thankfully) I haven't been exposed to that notworking protocol for over 5 years... and with a bit of luck... On Friday 11 May 2007 00:09, John Clark wrote: > I've got a question, which I've never had answered satisfactorily. Does > Access pull the entire DB over a line, when accessed remotely, or does it > just pull a sub-set of the date, as requested by a query? > > The reason I am asking is that we have an Access DB, designed by the state, > that is currently being used in a Niagara Falls department. They have > another office in Lockport, which is about 20-25 miles, to the East, and > they just asked that we install this program (the client) on two PCs in the > Lockport office. > > I think that it is going to run dog slow, because whenever I've tried to > run a few programs I have up there, from my desk...also in Lockport...it is > very slow. I don't mind so much, because I am usually just checking things > out, or troubleshooting something, but if I have to do anything major, I > copy it down to my PC to do the work, and then load it back up. > > My boss seems to think it is fine. He said, at his former company they ran > an Access app between Niagara Falls and Dallas, and it was slow but doable. > He said an operation that ran in 2 sec., would now take about 20 sec.. This > is fine for someone like me, to do something once in a while, but a data > entry person will go nuts w/these times. > > So, basically I am looking for some definitive information regarding this, > so that I can make a better decision about going ahead w/this. > > Thank you! > > John W Clark -- regards Bruce From john at winhaven.net Thu May 10 09:49:44 2007 From: john at winhaven.net (John Bartow) Date: Thu, 10 May 2007 09:49:44 -0500 Subject: [AccessD] Moving Outlook - let me waste my day In-Reply-To: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> Message-ID: <00ae01c79312$733424c0$6402a8c0@ScuzzPaq> Hi John, IIRC, the dba-tech archives may hold a good solution for moving outlook to a new machine. BTW this is pretty off - topic so please post this type of question to DBA-tech in the future - thanks. HTH, John Bartow, President Database Advisors, Inc. Email: mailto:president at databaseadvisors.com Website: http://www.databaseadvisors.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 10, 2007 8:19 AM To: 'AccessD' Subject: [AccessD] Moving Outlook - let me waste my day My notebook is giving me blue screens, so I moved Outlook to another machine. Now I have to set it up again. Who designed this beast? The mail transferred in the PST. The contacts transferred. The email accounts did not. The look did not. I am totally lost trying to figure out how to make the damned thing operate the way it used to. Using the registry is a GREAT CONCEPT, but in operation just sucks. Note to self, if I am ever going to use the registry to store operational settings, provide a "move" method for taking those settings to a new machine. Note to Microsoft, DO THE SAME!!! Note to Microsoft, provide a SINGLE PLACE to go find ALL SETTINGS for a single thing. Stuff is scattered from here to hell and back. I found this. http://office.microsoft.com/en-us/outlook/HA010549451033.aspx Can you BELIEVE THIS!!! Let's spend the whole damned day moving your email from one place to another. Rant mode off Don't have a signature, haven't found that yet. John W. Colby -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Thu May 10 10:15:55 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 08:15:55 -0700 Subject: [AccessD] Access at a distance In-Reply-To: <4642EF6B.167F.006B.0@niagaracounty.com> Message-ID: <0JHT00B2FZJ24230@l-daemon> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 10 10:11:58 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 10 May 2007 08:11:58 -0700 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: <200705092159450390.155A85FE@mail.cablespeed.com> References: <007601c7927e$248a5a90$657aa8c0@m6805> <200705092159450390.155A85FE@mail.cablespeed.com> Message-ID: VB.Net definitely has regular expressions, and I find them easier to use there than in VB/VBA. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Bahr Sent: Wednesday, May 09, 2007 7:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - cut and trim Hi John, have you looked at regular expressions?? You can do a lot of things in one line. I know VB 6 had them and VB.net should also have them. Mike... *********** REPLY SEPARATOR *********** On 5/9/2007 at 5:08 PM JWColby wrote: >I am looking at how to do in VB.Net what in VBA would be str = >trim(mid(str,intStartPos, intLen)) > >I can do this (I think) in two steps using: > > private mstr as string > mstr = lstrRecord.SubString(intStartPos,intWidth) > mstr = mstr.Trim(mstr.ToCharArray) > >Given what I know about VB.Net (not very darned much) is this the best way? >I see where the string builder can do the substring part but it does >not have a trim method. > >John W. Colby >Colby Consulting >www.ColbyConsulting.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 John.Clark at niagaracounty.com Thu May 10 10:14:13 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 11:14:13 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <200705110029.09974.bbruen@unwired.com.au> References: <20070510131923.8B4B8BE7B@smtp-auth.no-ip.com> <4642EF6B.167F.006B.0@niagaracounty.com> <200705110029.09974.bbruen@unwired.com.au> Message-ID: <4642FE83.167F.006B.0@niagaracounty.com> This is one of the things I am unsure about, but it may come down to terminology. You mention FE queries vs. BE queries. My programs all have FE programs calling BE data, and the queries are all contained in the FE. Is this all you mean, or am I missing something? Also, what do you mean by, "full cursor" and "cursor transfer?" >>> Bruce Bruen 5/10/2007 10:29 AM >>> John, Fundamentally, AFAIK, Access will use a full cursor transfer for each SQL access to the data. So if your app is not tuned for network performance using FE/client side queries instead of BE/server queries, you get the full cursor transfer everytime you access the BE. Note, SELECT f1,f2,..fn from T1 JOIN T2,..Tn WHERE blah=blahblah; executed from the client side will get you the whole damn dataset as it is the client that is executing the SQL parsing and processing. IOW you are transferring the entire set of tables from T1 to Tn. AFAIK, this is still true at A23k. What I dont know (thankfully) is whether the age old problem of cursor transfer via Novell still exists, as (thankfully) I haven't been exposed to that notworking protocol for over 5 years... and with a bit of luck... From ssharkins at setel.com Thu May 10 10:20:51 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:20:51 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000001c79316$cd74dca0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From ssharkins at setel.com Thu May 10 10:25:19 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:25:19 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000801c79317$6bfef3b0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From ssharkins at setel.com Thu May 10 10:22:39 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 10 May 2007 11:22:39 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <006b01c7930c$0d470fc0$0632fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> Message-ID: <000701c79317$0c94d5c0$ba32fad1@SusanOne> The first method is getting a reference to an already open document. The second method is getting a reference to a document that you are opening. What version of Word/Access are you using? =========Both are 2003. If I comment the first and add the file name to the second, it fails. +++++++++Bryan -- I tested it this morning and it works fine as either/or -- I have no idea why I couldn't get it right yesterday. But you are correct, and it's working as expected now. Thanks! Susan H. From fuller.artful at gmail.com Thu May 10 10:35:44 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 11:35:44 -0400 Subject: [AccessD] VB.Net - cut and trim In-Reply-To: References: <007601c7927e$248a5a90$657aa8c0@m6805> <200705092159450390.155A85FE@mail.cablespeed.com> Message-ID: <29f585dd0705100835h396d8972i3a8c05abe7af2a75@mail.gmail.com> So back to JC's intentions, and this is strictly a WAG, but suppose JC exported everything to text files and then renamed them to *.js for example. Then he could run JSDoc against the whole directory and it would emit all the xml columns. I'm not saying it would work, but JSDoc extracts XML comments from its source files. So it might work. A. On 5/10/07, Charlotte Foust wrote: > > VB.Net definitely has regular expressions, and I find them easier to use > there than in VB/VBA. > > Charlotte Foust > > From fuller.artful at gmail.com Thu May 10 10:46:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 10 May 2007 11:46:07 -0400 Subject: [AccessD] Excel to MDB Message-ID: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Imagine this, if you will: A potential client invented an Excel system for doing estimates and orders. Each estimate or order is a separate file. There are subdirs named for each client. There are now hundreds of Excel files. Now the potential client has realized the error of his ways and wants to import everything into an Access db and stop using Excel. I haven't seen the data yet, so I can only hope and pray that the Excel files all work from the same template. Otherwise all hell breaks lose. But supposing that in this best of all possible worlds, all the Excel files are structurally similar. I already know how to talk to a given Excel file and extract its contents into various tables. What I don't know is how to walk the directory tree and examine and extract from every file I find in said tree. I think it has something to do with the Dir() function, but I've forgotten. TIA, Arthur From John.Clark at niagaracounty.com Thu May 10 11:02:06 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Thu, 10 May 2007 12:02:06 -0400 Subject: [AccessD] Access at a distance In-Reply-To: <0JHT00B2FZJ24230@l-daemon> References: <4642EF6B.167F.006B.0@niagaracounty.com> <0JHT00B2FZJ24230@l-daemon> Message-ID: <464309BC.167F.006B.0@niagaracounty.com> It not my program...I didn't write it. It was written by the state...actually a contractor working w/the state...and there is an actual client install that we have to do. So I don't think altering it at all is an option. >>> Jim Lawrence 5/10/2007 11:15 AM >>> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Thu May 10 11:15:51 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 10 May 2007 18:15:51 +0200 Subject: [AccessD] Access at a distance Message-ID: Hi John Then find a WinXP box and install: http://www.thinsoftinc.com/product_thin_client_winconnect_server_xp.aspx Piece of cake to set up. Minimum license count is 3 and max. is 21- should fit nicely. And license handling is much easier than the crazy system for Terminal Server. /gustav >>> John.Clark at niagaracounty.com 10-05-2007 18:02 >>> It not my program...I didn't write it. It was written by the state...actually a contractor working w/the state...and there is an actual client install that we have to do. So I don't think altering it at all is an option. >>> Jim Lawrence 5/10/2007 11:15 AM >>> Hi John: Have you looked into synchronization/replication? The method can be setup to either go automatically or once or twice a day. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Thursday, May 10, 2007 7:10 AM To: 'AccessD' Subject: [AccessD] Access at a distance I've got a question, which I've never had answered satisfactorily. Does Access pull the entire DB over a line, when accessed remotely, or does it just pull a sub-set of the date, as requested by a query? The reason I am asking is that we have an Access DB, designed by the state, that is currently being used in a Niagara Falls department. They have another office in Lockport, which is about 20-25 miles, to the East, and they just asked that we install this program (the client) on two PCs in the Lockport office. I think that it is going to run dog slow, because whenever I've tried to run a few programs I have up there, from my desk...also in Lockport...it is very slow. I don't mind so much, because I am usually just checking things out, or troubleshooting something, but if I have to do anything major, I copy it down to my PC to do the work, and then load it back up. My boss seems to think it is fine. He said, at his former company they ran an Access app between Niagara Falls and Dallas, and it was slow but doable. He said an operation that ran in 2 sec., would now take about 20 sec.. This is fine for someone like me, to do something once in a while, but a data entry person will go nuts w/these times. So, basically I am looking for some definitive information regarding this, so that I can make a better decision about going ahead w/this. Thank you! John W Clark From accessd at shaw.ca Thu May 10 12:39:26 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 10:39:26 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: Message-ID: <0JHU00G0F668Q3B1@l-daemon> OT AJAX Hi all: This question is totally off-topic but the list members here have an incredible berth and depth of knowledge and I am sure someone will know or know where to look. For anyone here that has worked with AJAX/XML by default the information coming back from the server only supports 128 bit ASCII. That is great for straight English but any other single byte language, 256 bits is a minimum. Has anyone ran across a solution or knows where to find a solution? If so many thanks is advance. (...have researched a number of potential solutions but have been unable to either get them to work or have them fall-over with one client or another.) Jim From hollisvj at pgdp.usec.com Thu May 10 13:35:58 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Thu, 10 May 2007 13:35:58 -0500 Subject: [AccessD] Mouse Scroll Message-ID: <703BDA18A87DFA4CB265A86F42E4178D02491A9E@c2k3exchange.pgdp.corp.usec.com> I know years ago, someone had code that disables the scroll button on the mouse. I can't find where I put it.... Can someone send it to me again? Virginia From markamatte at hotmail.com Thu May 10 14:05:33 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 19:05:33 +0000 Subject: [AccessD] Mouse Scroll In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D02491A9E@c2k3exchange.pgdp.corp.usec.com> Message-ID: Virginia, I have responded off-list with a module and an attached DLL. Good luck, Mark A. Matte >From: "Hollis, Virginia" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: [AccessD] Mouse Scroll >Date: Thu, 10 May 2007 13:35:58 -0500 > >I know years ago, someone had code that disables the scroll button on >the mouse. I can't find where I put it.... Can someone send it to me >again? > > > >Virginia > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From martyconnelly at shaw.ca Thu May 10 14:26:29 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 12:26:29 -0700 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> References: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: <464371E5.7080102@shaw.ca> You can do with Dir but I find the recursion easier with FSO Sub test() 'List all files and directories under a folder recursively Dim oFSO As Object Set oFSO = CreateObject("Scripting.FileSystemObject") ListFiles oFSO, "C:\Access files\Directories" Set oFSO = Nothing End Sub Function ListFiles(oFSO As Object, FolderName As String) Dim pFile As Object 'Scripting.File Dim pFolder As Object 'Scripting.Folder Dim oFolder As Object 'Scripting.Folder With oFSO.GetFolder(FolderName) Debug.Print "Folder ---- "; EndSlash(FolderName) For Each pFile In .Files Debug.Print " ---- "; pFile.Name; pFile.DateLastModified Next For Each pFolder In .subFolders ListFiles oFSO, pFolder.path Next End With End Function Function EndSlash(sPath) If Not Right(sPath, 1) = "\" Then sPath = sPath & "\" EndSlash = sPath End Function Arthur Fuller wrote: >Imagine this, if you will: > >A potential client invented an Excel system for doing estimates and orders. >Each estimate or order is a separate file. There are subdirs named for each >client. There are now hundreds of Excel files. > >Now the potential client has realized the error of his ways and wants to >import everything into an Access db and stop using Excel. > >I haven't seen the data yet, so I can only hope and pray that the Excel >files all work from the same template. Otherwise all hell breaks lose. > >But supposing that in this best of all possible worlds, all the Excel files >are structurally similar. I already know how to talk to a given Excel file >and extract its contents into various tables. What I don't know is how to >walk the directory tree and examine and extract from every file I find in >said tree. I think it has something to do with the Dir() function, but I've >forgotten. > >TIA, >Arthur > > -- Marty Connelly Victoria, B.C. Canada From markamatte at hotmail.com Thu May 10 14:53:40 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 19:53:40 +0000 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: Arthur, I have a 'thrown together' db in A97(very ugly)...but you point it at a folder/directory...it goes in and creates a table with every folder and subfolder. The next pass it uses these folder names to search for *.mdb(can be changed to *.xls) and records size and location. The first loop is not very efficient but it gets the job done, I just never had time to tweak it. It might be suitable for your situation. I can send a copy off-list if you like. Thanks, Mark A. Matte >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: [AccessD] Excel to MDB >Date: Thu, 10 May 2007 11:46:07 -0400 > >Imagine this, if you will: > >A potential client invented an Excel system for doing estimates and orders. >Each estimate or order is a separate file. There are subdirs named for each >client. There are now hundreds of Excel files. > >Now the potential client has realized the error of his ways and wants to >import everything into an Access db and stop using Excel. > >I haven't seen the data yet, so I can only hope and pray that the Excel >files all work from the same template. Otherwise all hell breaks lose. > >But supposing that in this best of all possible worlds, all the Excel files >are structurally similar. I already know how to talk to a given Excel file >and extract its contents into various tables. What I don't know is how to >walk the directory tree and examine and extract from every file I find in >said tree. I think it has something to do with the Dir() function, but I've >forgotten. > >TIA, >Arthur >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Like the way Microsoft Office Outlook works? You?ll love Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_outlook_0507 From martyconnelly at shaw.ca Thu May 10 15:18:07 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 13:18:07 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JHU00G0F668Q3B1@l-daemon> References: <0JHU00G0F668Q3B1@l-daemon> Message-ID: <46437DFF.1000303@shaw.ca> I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada From markamatte at hotmail.com Thu May 10 15:32:25 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 10 May 2007 20:32:25 +0000 Subject: [AccessD] Conference Dates In-Reply-To: Message-ID: Any other thoughts on this? Thanks, Mark >From: "Mark A Matte" >Reply-To: Access Developers discussion and problem >solving >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Conference Dates >Date: Fri, 04 May 2007 20:27:04 +0000 > >I could pick...but I really want it convenient for as many people as >possible. Since I'm only 1.5 hours away...almost any dates are good for >me. > >With that being said...June 23 weekend? > >Thanks, > > >Mark A. Matte > > >>From: "JWColby" >>Reply-To: Access Developers discussion and problem >>solving >>To: "'Access Developers discussion and problem >>solving'" >>Subject: Re: [AccessD] Conference Dates >>Date: Fri, 4 May 2007 16:11:26 -0400 >> >>There isn't but let's schedule one. The first person to pick a date gets >>to >>have it on a date convenient to him / her. Not the first two weeks of >>July >>'cause I'm on vacation those two weeks. Blowin bubbles. >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >>Sent: Friday, May 04, 2007 3:43 PM >>To: accessd at databaseadvisors.com >>Subject: Re: [AccessD] Conference Dates >> >>JC, >> >>Is there a conference at your place scheduled? >> >>Thanks, >> >>Mark >> >>-- >>AccessD mailing list >>AccessD at databaseadvisors.com >>http://databaseadvisors.com/mailman/listinfo/accessd >>Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Watch free concerts with Pink, Rod Stewart, Oasis and more.? Visit MSN In >Concert today. http://music.msn.com/presents?icid=ncmsnpresentstagline > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From accessd at shaw.ca Thu May 10 15:55:27 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 10 May 2007 13:55:27 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <46437DFF.1000303@shaw.ca> Message-ID: <0JHU0000IF8XXQQ0@l-daemon> Hi Marty: I do understand your comments about UTF encoding but I have not been able to resolve the issue even though, on the surface, it would seem to be simple. See the following site, page and app sample and this will demonstrate the issue that I am having and maybe the code will suggest a solution. It should be straight-forward but I have just missed some small point: http://online.creativesystemdesigns.com/projects/programming.asp TIA Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 1:18 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Thu May 10 16:35:42 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 10 May 2007 17:35:42 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates In-Reply-To: Message-ID: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Well, since you were the only one to propose a date, June 23rd it is. ATTENTION ALL ACCESSD MEMBERS, on the weekend of June 23rd, Mark Matte and I will be having an AccessD conference at my house in Hudson, NC. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. Remember, all I do all day is blow bubbles and poke at Charlotte with a stick, so I am flexible. If the number of attendees is small enough, it will be held in my dark (but dry) basement (I have lights, and a few windows, but it is an unfinished basement). If attendance is really small, we will meet in my office upstairs. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 10, 2007 4:32 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Conference Dates Any other thoughts on this? Thanks, Mark From martyconnelly at shaw.ca Thu May 10 19:12:00 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 10 May 2007 17:12:00 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JHU0000IF8XXQQ0@l-daemon> References: <0JHU0000IF8XXQQ0@l-daemon> Message-ID: <4643B4D0.5060703@shaw.ca> I can't see the code for the ASP page as an example "http://online.creativesystemdesigns.com/projects/programming3.asp?pcode=1,&position=1" So as far as I understand, one way is to encode your ASP documents as UTF-8 and indicate the encoding as the code page (UTF-8 is code page 65001 e.g. There are probably are other methods. Something like this <%@ Language="VBScript" CodePage="65001" %> <% Response.ContentType = "text/plain; charset=UTF-8" For Each Key In Request.Form Response.Write Key & "=" & Request.Form(Key) & VbCrLf Next Response.Write "Original request data: " & Request.Form & VbCrLf %> or maybe something like Response.ContentType = "text/xml" Response.CharSet = "UTF-8" oOutputDOM.save Response That way ASP will properly decode the data send as application/x-www-form-urlencoded; charset=UTF-8 automatically, there Jim Lawrence wrote: >Hi Marty: > >I do understand your comments about UTF encoding but I have not been able to >resolve the issue even though, on the surface, it would seem to be simple. > >See the following site, page and app sample and this will demonstrate the >issue that I am having and maybe the code will suggest a solution. It should >be straight-forward but I have just missed some small point: >http://online.creativesystemdesigns.com/projects/programming.asp > >TIA >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Thu May 10 19:33:02 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 10 May 2007 17:33:02 -0700 Subject: [AccessD] Excel to MDB In-Reply-To: <29f585dd0705100846w206242f3kffad8a8c2d2f1278@mail.gmail.com> Message-ID: <007001c79363$ef9e68d0$0501a8c0@HAL9005> A: Use File Scripting Object. Do you have to look at all the worksheets in the workbook too? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Thursday, May 10, 2007 8:46 AM To: Access Developers discussion and problem solving Subject: [AccessD] Excel to MDB Imagine this, if you will: A potential client invented an Excel system for doing estimates and orders. Each estimate or order is a separate file. There are subdirs named for each client. There are now hundreds of Excel files. Now the potential client has realized the error of his ways and wants to import everything into an Access db and stop using Excel. I haven't seen the data yet, so I can only hope and pray that the Excel files all work from the same template. Otherwise all hell breaks lose. But supposing that in this best of all possible worlds, all the Excel files are structurally similar. I already know how to talk to a given Excel file and extract its contents into various tables. What I don't know is how to walk the directory tree and examine and extract from every file I find in said tree. I think it has something to do with the Dir() function, but I've forgotten. TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 5/9/2007 3:07 PM From carbonnb at gmail.com Thu May 10 20:43:16 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Thu, 10 May 2007 21:43:16 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <000801c79317$6bfef3b0$ba32fad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> <000801c79317$6bfef3b0$ba32fad1@SusanOne> Message-ID: On 5/10/07, Susan Harkins wrote: > +++++++++Bryan -- I tested it this morning and it works fine as either/or -- > I have no idea why I couldn't get it right yesterday. But you are correct, > and it's working as expected now. Thanks! Another fine MSism :) Sometimes it's just a reboot that cures the problem. -- 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 BarbaraRyan at cox.net Thu May 10 20:52:35 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Thu, 10 May 2007 21:52:35 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates References: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Message-ID: <014501c7936f$0c0ba090$0a00a8c0@PCRURI35> I'll be there! Barb Ryan ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 10, 2007 5:35 PM Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference Dates > Well, since you were the only one to propose a date, June 23rd it is. > > ATTENTION ALL ACCESSD MEMBERS, on the weekend of June 23rd, Mark Matte and > I > will be having an AccessD conference at my house in Hudson, NC. Anyone > interested in attending should speak up so that I know how many to plan > for. > > > Anyone who wishes to make a presentation please say so, so that I can make > a > schedule. Individual presentations should be 45 minutes to 1 hour. If > you > have a topic that will take longer, no problem, simply break it down into > 1 > hour segments. If you have something really cool that will only take a > few > minutes, again no problem. The agenda will be sessions from 9am to noon, > 1:30 pm to 4:30 pm on Saturday. I can and will provide enough material to > fill up that time should there be no takers on presentations, but in the > interests of YOUR sanity, consider doing a session on your own subject of > expertise. If there is enough content, we can spill over into Sunday, 1/2 > day or a full day, your choice. If there is HUGE attendance and resulting > HUGE content then we can spill over to either weekday on either side of > the > weekend. > > Remember, all I do all day is blow bubbles and poke at Charlotte with a > stick, so I am flexible. > > If the number of attendees is small enough, it will be held in my dark > (but > dry) basement (I have lights, and a few windows, but it is an unfinished > basement). If attendance is really small, we will meet in my office > upstairs. > > As for the most important issue... I have a largish propane BBQ and will > provide a BBQ dinner on Saturday the 23rd. Donations accepted but never > required. The menu will be Boneless, Skinless chicken breasts a la Sam's > club, a rack of ribs (more if a large turnout), Corn on the cob, sweet > potatoes, potato salad and green salad, and whatever I can rustle up for > desert. If anyone wants to bring or fix something special of their own, > feel free. > > There was a lot of interest for a date in September. I will do a repeat > performance in September if there is still interest. Someone propose a > date > for September. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > Sent: Thursday, May 10, 2007 4:32 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] Conference Dates > > Any other thoughts on this? > > Thanks, > > Mark > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From darrend at nimble.com.au Fri May 11 00:21:03 2007 From: darrend at nimble.com.au (Darren D) Date: Fri, 11 May 2007 15:21:03 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? Message-ID: <200705110521.l4B5L8uS025928@databaseadvisors.com> Hi All >From an access app I wrote - I am opening Enterprise manager for Server 2000 The Access app manages clients ? all of whom have SQL 2000 dBs on the same server I want to click from my access app and hopefully pass some command line switches to Enterprise Manager to get it to open the relevant dB So ? does it have command line switches and if so ? Do ones exist that will suit my needs? Many thanks Have a great day Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 09/05/2007 3:07 PM From stuart at lexacorp.com.pg Fri May 11 00:45:12 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Fri, 11 May 2007 15:45:12 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? In-Reply-To: <200705110521.l4B5L8uS025928@databaseadvisors.com> References: <200705110521.l4B5L8uS025928@databaseadvisors.com> Message-ID: <46448F88.31336.2932E937@stuart.lexacorp.com.pg> Since it is a .MSC file which runs in the "Microsoft Management Console", I doubt very much that there is any sort of CLI for it. On 11 May 2007 at 15:21, Darren D wrote: > > I want to click from my access app and hopefully pass some command line switches > to Enterprise Manager to get it to open the relevant dB > From paul.hartland at fsmail.net Fri May 11 05:22:59 2007 From: paul.hartland at fsmail.net (paul.hartland at fsmail.net) Date: Fri, 11 May 2007 12:22:59 +0200 (CEST) Subject: [AccessD] Slightly OT - Creating A Find Form In Visual Basic Like The One In Access Message-ID: <23057916.463731178878979879.JavaMail.www@wwinf3107> To all, I want to put a find button on a form in Visual Basic 6.0, which will then open up a find form similar to the one in Access. Does anyone know how I can do this ?....I am sure it should be simple, but cant for the life of me think how to do it.... Thanks in advance for any help on this.... Paul Hartland paul.hartland at fsmail.net 07730 523179 From ssharkins at setel.com Fri May 11 08:22:54 2007 From: ssharkins at setel.com (Susan Harkins) Date: Fri, 11 May 2007 09:22:54 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne><000001c79289$452bed30$2fb62ad1@SusanOne><006b01c7930c$0d470fc0$0632fad1@SusanOne><000801c79317$6bfef3b0$ba32fad1@SusanOne> Message-ID: <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> In this case, it was probably me. :) I've been really sick and on a lot of meds -- I probably just goofed. Susan H. > I have no idea why I couldn't get it right yesterday. But you are > correct, and it's working as expected now. Thanks! Another fine MSism :) Sometimes it's just a reboot that cures the problem. From accessd at shaw.ca Fri May 11 08:54:42 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 11 May 2007 06:54:42 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <4643B4D0.5060703@shaw.ca> Message-ID: <0JHV006IBQFLK9F1@l-daemon> Hi Marty: Thanks for all that information. I will check it out and get back to you. Forgot to mention that the actual working page in an iframe. If anyone is interested, below is a listing of how to use basic AJAX. Here is a program over-view: When an item on the list is selected the JavaScript AJAX is called (function DisplayList). The JavaScript call (AJAX part) calls a server side ASP file that gets the data and returns the data to the now waiting AJAX function. The JS functions insert the data in a panel, turns the panel display mode on and sets the focus to the new panel. The JavaScript functions that do all the data and screen management: // variable are initialized on web page call var xmlHttp var pcode var position function DisplayList(pcode, position) { // Test for compatible browsers xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Your browser does not support AJAX!"); return; } // Point to the server side ASP applet var url="http://online.creativesystemdesigns.com/projects/programming3.asp"; url=url+"?pcode="+pcode; url=url+"&position="+position; // Now wait for a state change... data ready? xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); // Supposed to set data retrieved to UTF-8 ... does not :-( xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlHttp.send(null); } function stateChanged() { // If state = 4 data returned. if (xmlHttp.readyState==4) { // Get the returning data and push it into the panel document.getElementById("ProductList").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari and every other browser // except IE xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer browsers have a couple of option // and the latest release are going comply then there // 3 options for IE. try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function CloseList(ref, code) { // Toggles off or on a screen object. This object is // z-indexed (greater than 1 which is the default) // so it floats above the other objects on screen. var reference = document.getElementById(ref); var box = document.getElementById('localbox'); if (reference.style.display =='none') { DisplayList(code, 1); reference.style.display =''; } else { reference.style.display ='none'; } } Thanks again Marty Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 5:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I can't see the code for the ASP page as an example "http://online.creativesystemdesigns.com/projects/programming3.asp?pcode=1,& position=1" So as far as I understand, one way is to encode your ASP documents as UTF-8 and indicate the encoding as the code page (UTF-8 is code page 65001 e.g. There are probably are other methods. Something like this <%@ Language="VBScript" CodePage="65001" %> <% Response.ContentType = "text/plain; charset=UTF-8" For Each Key In Request.Form Response.Write Key & "=" & Request.Form(Key) & VbCrLf Next Response.Write "Original request data: " & Request.Form & VbCrLf %> or maybe something like Response.ContentType = "text/xml" Response.CharSet = "UTF-8" oOutputDOM.save Response That way ASP will properly decode the data send as application/x-www-form-urlencoded; charset=UTF-8 automatically, there Jim Lawrence wrote: >Hi Marty: > >I do understand your comments about UTF encoding but I have not been able to >resolve the issue even though, on the surface, it would seem to be simple. > >See the following site, page and app sample and this will demonstrate the >issue that I am having and maybe the code will suggest a solution. It should >be straight-forward but I have just missed some small point: >http://online.creativesystemdesigns.com/projects/programming.asp > >TIA >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> >> >> >> > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Fri May 11 09:07:25 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 11 May 2007 07:07:25 -0700 Subject: [AccessD] Agile methologies In-Reply-To: <4643B4D0.5060703@shaw.ca> Message-ID: <0JHV006AER0SK6I1@l-daemon> Hi All: As there has been a bit of a discussion on 'Agile application development methodologies' this week, surprisingly enough an ad for a web cast on that very subject appears in the inbox. Here is a link for those interested: events at cmcrossroads.com I have not followed this link yet so not claims as to content...) Jim From mwp.reid at qub.ac.uk Fri May 11 09:20:31 2007 From: mwp.reid at qub.ac.uk (Martin Reid) Date: Fri, 11 May 2007 15:20:31 +0100 Subject: [AccessD] SQL Question References: <0JHV006AER0SK6I1@l-daemon> Message-ID: Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From Gustav at cactus.dk Fri May 11 09:28:09 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 11 May 2007 16:28:09 +0200 Subject: [AccessD] SQL Question Message-ID: Hi Martin You could try with TOP 1: SELECT TOP 1 [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt /gustav >>> mwp.reid at qub.ac.uk 11-05-2007 16:20 >>> Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From carbonnb at gmail.com Fri May 11 09:30:51 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Fri, 11 May 2007 10:30:51 -0400 Subject: [AccessD] Problem with Word Automation In-Reply-To: <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> References: <000001c79260$5c0a19b0$e6b82ad1@SusanOne> <000001c79289$452bed30$2fb62ad1@SusanOne> <006b01c7930c$0d470fc0$0632fad1@SusanOne> <000801c79317$6bfef3b0$ba32fad1@SusanOne> <004901c793cf$7c9b14c0$45bc2ad1@SusanOne> Message-ID: On 5/11/07, Susan Harkins wrote: > In this case, it was probably me. :) I've been really sick and on a lot of > meds -- I probably just goofed. No. It's MS. I've run into things like this before and a good boot, er reboot works wonders :) -- 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 Elizabeth.J.Doering at wellsfargo.com Fri May 11 09:35:17 2007 From: Elizabeth.J.Doering at wellsfargo.com (Elizabeth.J.Doering at wellsfargo.com) Date: Fri, 11 May 2007 09:35:17 -0500 Subject: [AccessD] SQL Question References: <0JHV006AER0SK6I1@l-daemon> Message-ID: <1C2084FD2472124AB1812A5476EA3B7A016AAE8A@msgswbmnmsp04.wellsfargo.com> Are you returning one row for each possible date_start_appntmnt? Leave that out of the query, except in the MAX and don't group by it either. You may need to do two separate queries, one for stdnt_nbr, max(date_start_appntmnt) and another for [stdnt_nbr],[pos_crse_cd],[prsn_nbr]. Then you'd do a join of the two result sets to get your desired single row. Liz Liz Doering elizabeth.j.doering at wellsfargo.com 612.667.2447 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Martin Reid Sent: Friday, May 11, 2007 9:21 AM To: Access Developers discussion and problem solving Subject: [AccessD] SQL Question Running hte following returns three rows. I need it to return asingle row. Is there something missing. This is SQL Server 2005. The WHERE is ismply used for testing to restirct this to a single student., SELECT [stdnt_nbr],[pos_crse_cd],[prsn_nbr],date_start_appntmnt, MAX ( [date_start_appntmnt] ) FROM [s335_stdnt_staff] WHERE [stdnt_nbr] = XXXXXXXXXXXXXXXXXX GROUP BY [stdnt_nbr],[pos_crse_cd],[prsn_nbr], date_start_appntmnt Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 From fhtapia at gmail.com Fri May 11 10:54:07 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Fri, 11 May 2007 08:54:07 -0700 Subject: [AccessD] Interesting for you kung fu masters? In-Reply-To: <0JHR0060H07KFFE0@l-daemon> References: <000201c791cf$f7351f20$657aa8c0@m6805> <0JHR0060H07KFFE0@l-daemon> Message-ID: Jim/John (and all) if you like that, you should really be checking out red-gate's sql compare. It not only does the compare that you are seeing here, but you can do it across servers, In this way you can compare your source database in your dev server against the production server database. It has come in really handy in our environment since I do not allow my developers to create any code on the live servers. If I catch them, they get to deal with me giving them a big lecture, second offense my boss wants me to bring them into his office, but that has not occurred yet. The price is not terrible either, we negotiated with their sql backup and sql compare products and were able to get 2 years of maintenance support for free. So I know this sounds like a commercial, but we also like to discuss products we use to help make our lives easier on this list right?... but one of the features I completly dig about this product (sql compare) is that when my developer completes their code, we can go through the code review... then if all is approved, we push it using this tool to the live server. This product allows you to select everything you need from your dev server against your production server, thus if you changed tables, data types, procedures, views etc... you can select them all for synchronization. You can also choose to just review the script that the program will generate to make the necessary changes and then just run it yourself via query analyzer. the sp_compare is what I used to use before, but then that will waste space if your looking at really large db's.. We also purchased sql-data compare which allows you to look at two tables and synchronize the data... so with our data warehouse when we are running changes, I will bring over a subset of data, and make the necessary changes, then publish the schema back to production without affecting production or causing unnecessary errors. http://red-gate.com/products/SQL_Compare/index.htm You can try the product for 14 days, and extend it for another 10 days (iirc) by typing in "i need more time" in the serial box... I think you can extend the products twice before they deactivate. In addition if you need extra time to evaluate the product you can contact them and they will give you a serial for a slightly longer time-period. Just so you know they don't get a full glowing report from me :). On occasion when I have required support, they have not been the fastest. I've used products from quest software and idera, and both those companies were faster at getting back to me (same day) than red-gate. Though to be fair, I have not had any issues with red-gate products that required such immediate attention such as idera or quest. I hope this info helps you guys. -- Francisco On 5/8/07, Jim Lawrence wrote: > > This is similar to the Backend-Upgrader at the DBA site > (http://www.databaseadvisors.com/downloads.asp) but works for MS SQL > server > instead of MS Access. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby > Sent: Tuesday, May 08, 2007 5:21 PM > To: 'Access Developers discussion and problem solving'; > dba-vb at databaseadvisors.com > Subject: [AccessD] Interesting for you kung fu masters? > > www.sql-server-performance.com/vg_database_comparison_sp.asp > > > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From dwaters at usinternet.com Fri May 11 13:07:02 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 13:07:02 -0500 Subject: [AccessD] FE on Server for Each User Message-ID: <002e01c793f7$2d03afd0$0200a8c0@danwaters> I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From cfoust at infostatsystems.com Fri May 11 13:14:10 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 11 May 2007 11:14:10 -0700 Subject: [AccessD] FE on Server for Each User In-Reply-To: <002e01c793f7$2d03afd0$0200a8c0@danwaters> References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: Sounds like a job for Terminal Services or Citrix Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 13:37:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 14:37:50 -0400 Subject: [AccessD] FE on Server for Each User In-Reply-To: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> I think a simpler solution would be a directory on the PC that their user has read/write rights on, with rights to create subdirs, copy files etc. The same name folder on each workstation. Thus the user does not have admin rights, just simple rights to a single directory. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 2:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Denis.Calvo at dgs.ca.gov Fri May 11 13:45:46 2007 From: Denis.Calvo at dgs.ca.gov (Calvo, Denis) Date: Fri, 11 May 2007 11:45:46 -0700 Subject: [AccessD] Query/Forms Update Data In-Reply-To: Message-ID: accessd at databaseadvisors.com Using Access 2002. Our Forms (based on a query) in general allows for data entry. However when I add another specific table and its link to the main source of the query (another table) the query/form prohibits produces results but does not allow for data entry/update? How do i determine what is causing this? i could remove the linked table from the query and the resultant form now allows for updating/data entry once again. I have tried to "look" at all the characteristics of the problem table but find nothing that tells me it would preclude the form's abitlity to update records. Denis Calvo Denis.Calvo at dgs.ca.gov From martyconnelly at shaw.ca Fri May 11 14:23:01 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 11 May 2007 12:23:01 -0700 Subject: [AccessD] Query/Forms Update Data In-Reply-To: References: Message-ID: <4644C295.1040501@shaw.ca> There are a few situations where you end up with a non-updatable query. You can quickly tell if your query is non-updatable by clicking on the run (!) and checking the navigation buttons on the bottom. If the new record (*) is grayed out, then the query is non-updatable. A list of causes for read only queries are: http://www.allenbrowne.com/ser-61.html If still stuck, post your SQL back here Calvo, Denis wrote: >accessd at databaseadvisors.com > >Using Access 2002. Our Forms (based on a query) in general allows for >data entry. However when I add another specific table and its link to >the main source of the query (another table) the query/form prohibits >produces results but does not allow for data entry/update? How do i >determine what is causing this? i could remove the linked table from >the query and the resultant form now allows for updating/data entry once >again. I have tried to "look" at all the characteristics of the problem >table but find nothing that tells me it would preclude the form's >abitlity to update records. > >Denis Calvo >Denis.Calvo at dgs.ca.gov > > > > > -- Marty Connelly Victoria, B.C. Canada From gustav at cactus.dk Fri May 11 16:18:43 2007 From: gustav at cactus.dk (Gustav Brock) Date: Fri, 11 May 2007 23:18:43 +0200 Subject: [AccessD] FE on Server for Each User Message-ID: Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From jwcolby at colbyconsulting.com Fri May 11 16:46:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 17:46:04 -0400 Subject: [AccessD] Clearing the debug window before writing to it Message-ID: <20070511214603.DEA2DBC73@smtp-auth.no-ip.com> When my program runs, hundreds of lines of junk writes to the debug window. I would like to clear all that stuff programmatically before my first debug.print statement. Anyone know how to do that? I can do it from the right click menu in that window. John W. Colby Colby Consulting www.ColbyConsulting.com From dwaters at usinternet.com Fri May 11 16:51:22 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 16:51:22 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> <20070511183749.EFFC6BE64@smtp-auth.no-ip.com> Message-ID: <003801c79416$84894b10$0200a8c0@danwaters> Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 11, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User I think a simpler solution would be a directory on the PC that their user has read/write rights on, with rights to create subdirs, copy files etc. The same name folder on each workstation. Thus the user does not have admin rights, just simple rights to a single directory. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 2:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Fri May 11 16:51:52 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 16:51:52 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: References: <002e01c793f7$2d03afd0$0200a8c0@danwaters> Message-ID: <003901c79416$960379b0$0200a8c0@danwaters> Sure is - but they aren't going that way! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 11, 2007 1:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FE on Server for Each User Sounds like a job for Terminal Services or Citrix Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FE on Server for Each User I have a customer whose parent company is requiring them to not have local admin rights on each PC. This causes problems when an updated FE file needs to be automatically copied from the server to the folder on the FE. This FE file has not been in the folder under Documents and Settings that users do have rights for. Unfortunately, during this changover, a migration tool was used, and now the user's folders under Documents and Settings have a variety of different naming methodologies (same as before), so I can't programmatically determine that folder's name for each user. A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Fri May 11 17:13:06 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 17:13:06 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: References: Message-ID: <003f01c79419$8d9ae3a0$0200a8c0@danwaters> Hi Gustav, Do you see any problems with the FE being pulled across the network each time the user logs in? My FE is now about 6 Mb, and may go to about 20 Mb. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, May 11, 2007 4:19 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FE on Server for Each User Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 18:24:29 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 19:24:29 -0400 Subject: [AccessD] FE on Server for Each User In-Reply-To: <003801c79416$84894b10$0200a8c0@danwaters> Message-ID: <20070511232429.122DFBC8F@smtp-auth.no-ip.com> This is a windows security issue, but that doesn't mean that a plain old user cannot have rights to a specific directory, even under the C: drive. An administrator has to set the rights for the same dir you used to use, so that that specific user, or even a flunky user group, can have full rights to exactly and only that directory. Having rights to a directory is not the same as having admin rights to the machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 5:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan From dwaters at usinternet.com Fri May 11 19:30:12 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 11 May 2007 19:30:12 -0500 Subject: [AccessD] FE on Server for Each User In-Reply-To: <20070511232429.122DFBC8F@smtp-auth.no-ip.com> References: <003801c79416$84894b10$0200a8c0@danwaters> <20070511232429.122DFBC8F@smtp-auth.no-ip.com> Message-ID: <004001c7942c$b4825260$0200a8c0@danwaters> Good Point! They may be getting specific instructions from their parent company, but I'll certainly see if they are allowed to do this. :-) Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 11, 2007 6:24 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User This is a windows security issue, but that doesn't mean that a plain old user cannot have rights to a specific directory, even under the C: drive. An administrator has to set the rights for the same dir you used to use, so that that specific user, or even a flunky user group, can have full rights to exactly and only that directory. Having rights to a directory is not the same as having admin rights to the machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, May 11, 2007 5:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FE on Server for Each User Hi John, Having a single folder on the C drive is what I had before: The path was C:\PSISystemClient, and all the other folders and files were in this one. But when they started to remove local admin rights, the users could no longer add anything directly below the C: drive, which is when they started getting 'Can't Connect' error messages. They started this last week, and we had a brainstorming solution meeting yesterday. Without local admin authority, there is a folder at C:\Documents and Settings\[UserName]\ that users can add anything into. If the UserName folder is actually the same as the User Name, I can use that. But, the migration tool they used set up the user folders with the previous user names, which didn't follow any convention at all. To track that, I'd have to create and maintain a table of actual user names and corresponding folder names, which is even more problematic. I guess this is a Windows security problem, not an Access problem. Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 11 21:19:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 11 May 2007 22:19:36 -0400 Subject: [AccessD] VB.Net - Raw data file transform Message-ID: <20070512021936.5A940BDA4@smtp-auth.no-ip.com> Well guys, I have ported the application that transformed my raw data into a pipe delimited "csv" file - from VBA in Access to VB.NET. Preliminary results VERY crudely timed show about 10K records / second, up from about 1K records / second in VBA. I really need to find a timer class for timing code in order to get precise timings on this. As it stands now however, it looks like without any further optimizations, my raw data transform would be the bottleneck, running at 9.7K records / sec, with the SQL Server BULK INSERT running at 15K records / second. If I can get these two processes running in threads so that they process independently, I am now in a position to go pushbutton and import a 100 million record file in ~10K seconds / 166.6 minutes / 2.7 hours. Given that I will soon have the pieces to run unattended this is an acceptable rate for me. This process took days of handholding manual labor to make happen (learning stuff all the way of course) Thanks to all who have helped my in getting the ADO happening out in VB.Net, as well as the Sproc happening in SQL Server. I still have a long way to go to get a complete app in VB.Net and SQL Server. The piece I just ported does the open / parse / strip / write to move the raw fixed width file to pipe delimited. Phase 2 begins immediately. The next piece will automate running the BULK INSERT Sproc from VB.Net, given a set of pipe delimited csv files in a directory and an existing destination table in SQL Server. Once that piece is running, I will need to learn how to run each piece in a separate thread. When both pieces are running simultaneously, I will need to reassess the speed of each piece. I am using a dual proc AMD XP 3800 with 4 gb RAM so hopefully each thread will run on a different proc, though I don't know that. From the little I know I assume there is a way to set the processor affinity of a thread. So much to learn, so little time. But this is just an awesome start and I am happy with the speed gain of the transform process achieved by moving to VB.Net. Again thanks to all who contributed. John W. Colby Colby Consulting www.ColbyConsulting.com From gustav at cactus.dk Sat May 12 02:23:30 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 12 May 2007 09:23:30 +0200 Subject: [AccessD] FE on Server for Each User Message-ID: Hi Dan No. /gustav >>> dwaters at usinternet.com 12-05-07 0:13 >>> Hi Gustav, Do you see any problems with the FE being pulled across the network each time the user logs in? My FE is now about 6 Mb, and may go to about 20 Mb. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, May 11, 2007 4:19 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] FE on Server for Each User Hi Dan That is certainly doable. We run all frontends off shared network folders (on a Novell NetWare server). /gustav >>> dwaters at usinternet.com 11-05-07 20:07 >>> A suggestion has arisen to place each user's FE files on the server, with each user having their files in a folder with their user name. I can make this happen programmatically, but I wonder what everyone's thoughts are on this method. Any pros, cons, or gotcha's? Thanks! Dan Waters From shamil at users.mns.ru Sat May 12 04:52:27 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 13:52:27 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Message-ID: <000301c7947b$4048ce70$6401a8c0@nant> Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is 2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil From stuart at lexacorp.com.pg Sat May 12 05:13:56 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 12 May 2007 20:13:56 +1000 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... In-Reply-To: <000301c7947b$4048ce70$6401a8c0@nant> References: <000301c7947b$4048ce70$6401a8c0@nant> Message-ID: <46459364.4575.D15D010@stuart.lexacorp.com.pg> On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a database > you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I have > never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart From shamil at users.mns.ru Sat May 12 05:37:31 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 14:37:31 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolickeys... In-Reply-To: <46459364.4575.D15D010@stuart.lexacorp.com.pg> Message-ID: <000001c79481$8be8f2a0$6401a8c0@nant> Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a database > you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I have > never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sat May 12 07:46:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 08:46:40 -0400 Subject: [AccessD] Lookup and production tables' alternative symbolic keys... In-Reply-To: <000301c7947b$4048ce70$6401a8c0@nant> Message-ID: <20070512124640.8002ABD3A@smtp-auth.no-ip.com> Shamil, My Disability Insurance Call Center database has some long chains chains: Underwriter / Policy / Claim / Benefit / BenefitOffset Underwriter / Policy / Claim / Benefit / BeneCheckInfo / Check Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Claimant / Claim / Benefit / BeneCheckInfo / Check In such cases it is not uncommon to have to start at the top of the chain, i.e. "view all checks for policy holder", view all checks for the claimant, view all checks for the underwriter. I do not understand what you mean by "alternative symbolic keys". If you mean fields that would be a natural key FOR THAT TABLE (policy number in the claim table) I do not. I use ONLY surrogate keys, which are always long int autonumbers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 5:52 AM To: 'Access-D' Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is >2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sat May 12 07:58:01 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 08:58:01 -0400 Subject: [AccessD] Lookup and production tables' alternativesymbolickeys... In-Reply-To: <000001c79481$8be8f2a0$6401a8c0@nant> Message-ID: <20070512125800.EDE8ABCE0@smtp-auth.no-ip.com> Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Sat May 12 08:09:46 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 09:09:46 -0400 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Sat May 12 08:40:12 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 09:40:12 -0400 Subject: [AccessD] VB.Net - Progress Bars Message-ID: <20070512134012.472BABCCA@smtp-auth.no-ip.com> I need two progress bars, one for displaying the files I am processing, and one for displaying the progress processing records inside of a file. My question involves where to display this progress and how to feed the individual bars. The progress info is coming from two different classes, neither of which is the form class. Would I raise events and have those events sunk clear back on the form class, or would I pass in references to the progress controls to the classes, or would I make public variables which hold pointers to the progress bars and allow each class to update it's own progress bar? How do you guys do this? John W. Colby Colby Consulting www.ColbyConsulting.com From shamil at users.mns.ru Sat May 12 08:59:52 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 17:59:52 +0400 Subject: [AccessD] Lookup and production tables' alternative symbolickeys... In-Reply-To: <20070512124640.8002ABD3A@smtp-auth.no-ip.com> Message-ID: <000001c7949d$cffa9270$6401a8c0@nant> John, Is the chain: Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Master->Detail->...->Detail chain? I'd think without knowing details of this business just based on the names of the tables - it's at least: Master (Policy Holder)->Detail(Policy)->Detail(Claim)->Detail(Benefit)->Detail(BeneCheckInf o)<-Master(Check) Again based on the names of the tables I'd expect the structure would be even more shallow - something like BeneCheckInfo being a relationship table for Policy, Claim, Benefit and Check tables i.e. the length of the chain is 3 not 6 (I can be wrong - I do not know this business). "Alternative symbolic keys" means for me an *additional* to surrogate (Autonumber/Identity/(long/whatevet bits)Integer/GUID/...) symbolic unique key. That's clear that for relationships (many to many) tables such keys if they exists are usually artificial, especially for long master->detail->... chains... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... Shamil, My Disability Insurance Call Center database has some long chains chains: Underwriter / Policy / Claim / Benefit / BenefitOffset Underwriter / Policy / Claim / Benefit / BeneCheckInfo / Check Policy Holder / Policy / Claim / Benefit / BeneCheckInfo / Check Claimant / Claim / Benefit / BeneCheckInfo / Check In such cases it is not uncommon to have to start at the top of the chain, i.e. "view all checks for policy holder", view all checks for the claimant, view all checks for the underwriter. I do not understand what you mean by "alternative symbolic keys". If you mean fields that would be a natural key FOR THAT TABLE (policy number in the claim table) I do not. I use ONLY surrogate keys, which are always long int autonumbers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 5:52 AM To: 'Access-D' Subject: [AccessD] Lookup and production tables' alternative symbolic keys... Ho All, When you design highly normalized databases how often do you define alternative symbolic keys for your lookup and production tables? If you do not define such alternative symbolic keys what is your reasoning? FYI: I always define alternative symbolic keys for all lookup and for at least entry production tables. By "entry production tables" I mean first master (parent) table in master(parent)->detail->...->detail chains. BTW, what was the longest master->detail->...->detail chain for a database you developed? >From my experience an average value for the length of these chains is >2.5; if it's 3 then the third level table is usually a (many to many) relationship table; sometimes length of chains can be even 5 but I have never seen chains longer than five... Do they exist? Of course classification tables' chains could be very long but I consider them as an exception, which supports the "rules/hypothesis" mentioned above. And as far as I see from most of the real life samples when classification is used then master->detail->...detail chain is rarely longer than 3. And if it's longer then recursive structures are usually used... Please write about your opinion/experience on subject and related issues. Thank you. -- Shamil -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 shamil at users.mns.ru Sat May 12 09:33:01 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 18:33:01 +0400 Subject: [AccessD] Lookup and production tables'alternativesymbolickeys... In-Reply-To: <20070512125800.EDE8ABCE0@smtp-auth.no-ip.com> Message-ID: <000101c794a2$7217be80$6401a8c0@nant> John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 colbyconsulting.com Sat May 12 09:51:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 12 May 2007 10:51:14 -0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000101c794a2$7217be80$6401a8c0@nant> Message-ID: <20070512145114.724B6BD98@smtp-auth.no-ip.com> In this case there are many core tables. These are insurance policies. Policies are added every time a claim is processed where that policy does not exist. If a policy is added, a policy holder is added. The claimant is added (the person filing the claim). The claim is added. Then monthly (or weekly) the benefit record is added. The benefit record is a record which holds data about the benefit owed THAT pay period. These change over time as the number of days, the amounts removed for taxes etc. The benefit check info is a table that holds data about the check about to be issued for that specific benefit record. More than one check can be cut - one to the claimant, another to his divorced spouse, one for child support etc. Then checks are cut and referenced back to the benecheckinfo record that caused that check to be cut. So you can see that literally daily, new claims are processed. USUALLY these are for existing policies - the policies USUALLY are held by a COMPANY providing disability insurance, but not always, sometimes individuals buy policies. So pretty much ALL of the tables from policy holder and claimant on down are modified on a daily basis. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 rockysmolin at bchacc.com Sat May 12 09:53:56 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 07:53:56 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000101c794a2$7217be80$6401a8c0@nant> Message-ID: <001c01c794a5$5de127a0$0501a8c0@HAL9005> Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From shamil at users.mns.ru Sat May 12 10:12:37 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 19:12:37 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <20070512145114.724B6BD98@smtp-auth.no-ip.com> Message-ID: <000301c794a7$fa21b1f0$6401a8c0@nant> John, John, The "hardcore" core table of your database seems to be the BeneCheck table. All the rest are "in between" sharing lookup and production tables' roles depending on context in which they are used. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 6:51 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... In this case there are many core tables. These are insurance policies. Policies are added every time a claim is processed where that policy does not exist. If a policy is added, a policy holder is added. The claimant is added (the person filing the claim). The claim is added. Then monthly (or weekly) the benefit record is added. The benefit record is a record which holds data about the benefit owed THAT pay period. These change over time as the number of days, the amounts removed for taxes etc. The benefit check info is a table that holds data about the check about to be issued for that specific benefit record. More than one check can be cut - one to the claimant, another to his divorced spouse, one for child support etc. Then checks are cut and referenced back to the benecheckinfo record that caused that check to be cut. So you can see that literally daily, new claims are processed. USUALLY these are for existing policies - the policies USUALLY are held by a COMPANY providing disability insurance, but not always, sometimes individuals buy policies. So pretty much ALL of the tables from policy holder and claimant on down are modified on a daily basis. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Sat May 12 11:04:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 12:04:35 -0400 Subject: [AccessD] Access 2007 Navigation Pane Message-ID: <29f585dd0705120904m554c9438ka763a8f174bd863@mail.gmail.com> Does anyone know where the items in the navigation pane are stored? I'm guessing that Access queries the lists of tables and forms etc., but what about the custom items you add? And suppose that I decide to hide some objects? Where is that information stored? And finally, has anyone created a wizard that will convert Switchboard Items into this new format? If not, then I will, when I figure out where this information lives. Arthur From shamil at users.mns.ru Sat May 12 12:23:21 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 21:23:21 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <001c01c794a5$5de127a0$0501a8c0@HAL9005> Message-ID: <000301c794ba$3d8e91d0$6401a8c0@nant> Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From mwp.reid at qub.ac.uk Sat May 12 12:31:57 2007 From: mwp.reid at qub.ac.uk (Martin Reid) Date: Sat, 12 May 2007 18:31:57 +0100 Subject: [AccessD] Access 2007 Navigation Pane References: <29f585dd0705120904m554c9438ka763a8f174bd863@mail.gmail.com> Message-ID: Arthur there are several system tables. MSysNavPaneGroups MSysNavPaneGroupToObjects MSysNavPaneGroupCategories At a guess I dont think that wil help you. Re menus etc http://pschmid.net/office2007/ribboncustomizer/index.php This guys menu builder is great. Disclaimer, I was one of the beta testers for this in the early days and its not free. I think he has a free version however. His web site is really good for learning RibbonX Martin Martin WP Reid Training and Assessment Unit Riddle Hall Belfast tel: 02890 974465 ________________________________ From: accessd-bounces at databaseadvisors.com on behalf of Arthur Fuller Sent: Sat 12/05/2007 17:04 To: Access Developers discussion and problem solving Subject: [AccessD] Access 2007 Navigation Pane Does anyone know where the items in the navigation pane are stored? I'm guessing that Access queries the lists of tables and forms etc., but what about the custom items you add? And suppose that I decide to hide some objects? Where is that information stored? And finally, has anyone created a wizard that will convert Switchboard Items into this new format? If not, then I will, when I figure out where this information lives. Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Sat May 12 12:35:58 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 10:35:58 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000301c794ba$3d8e91d0$6401a8c0@nant> Message-ID: <002501c794bc$00774f10$0501a8c0@HAL9005> So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From ssharkins at setel.com Sat May 12 12:37:18 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 13:37:18 -0400 Subject: [AccessD] Constant for quote characters? Message-ID: <000001c794bc$31b22730$a132fad1@SusanOne> Didn't Access add a constant for the single and double quotation characters? I've checked the Constant classes, and I'm not finding it -- so either I'm just overlooking it or I'm mistaken, and there is no constant. I know I can use Chr(), but prefer a constant if there is one. Susan H. From shamil at users.mns.ru Sat May 12 13:10:57 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 12 May 2007 22:10:57 +0400 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <002501c794bc$00774f10$0501a8c0@HAL9005> Message-ID: <000601c794c0$e3adfa50$6401a8c0@nant> <<< So I suppose in the form which maintains the FAB table, tblFAB is a production table. >>> No, Rocky, it will not automatically become a production table in this case of your application in my opinion. <<< I'm always interested in application. Is the production/lookup distinction it make a difference in application? >>> Yes, Rocky, I'm also interested in applications. Yes lookup/production table difference does IMO make the distinction in an application. (Lookup table in a broad sense - like your tblFAB table). These distinctions allow to clearly see the subsystems of a (large) application system and how these subsystems are related/connected to each other. The splitting on subsystems allows to create modules/components, which can be separately/in parallel programmed by a development team, allow deploying distributed systems working well in ensemble etc. etc. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 9:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- 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 May 12 15:06:14 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 13 May 2007 06:06:14 +1000 Subject: [AccessD] Constant for quote characters? In-Reply-To: <000001c794bc$31b22730$a132fad1@SusanOne> References: <000001c794bc$31b22730$a132fad1@SusanOne> Message-ID: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> I don't think there is one. On 12 May 2007 at 13:37, Susan Harkins wrote: > Didn't Access add a constant for the single and double quotation characters? > I've checked the Constant classes, and I'm not finding it -- so either I'm > just overlooking it or I'm mistaken, and there is no constant. > > I know I can use Chr(), but prefer a constant if there is one. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From fuller.artful at gmail.com Sat May 12 15:42:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 16:42:07 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> My preferred choice is a pair of functions called q() and qq(), which accept a string and return the string encapsulated in either single or double quotes. Function q( s As String) q = Chr(39) & s & Chr(39) End Function Function qq( s a String ) qq = Chr(34) & s & Chr(34) End Function Arthur From ssharkins at setel.com Sat May 12 15:56:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 16:56:43 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> Message-ID: <000301c794d8$0cc6f240$c232fad1@SusanOne> I think you're right. I don't know where I got the idea there was one. I don't recall having ever used it. Wishful thinking? ;) Susan H. I don't think there is one. > Didn't Access add a constant for the single and double quotation characters? > I've checked the Constant classes, and I'm not finding it -- so either > I'm just overlooking it or I'm mistaken, and there is no constant. > > I know I can use Chr(), but prefer a constant if there is one. From ssharkins at setel.com Sat May 12 15:56:43 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 12 May 2007 16:56:43 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> References: <000001c794bc$31b22730$a132fad1@SusanOne><46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> Message-ID: <000401c794d8$0dfa6930$c232fad1@SusanOne> Why do you call functions instead of defining constants? Susan H. My preferred choice is a pair of functions called q() and qq(), which accept a string and return the string encapsulated in either single or double quotes. Function q( s As String) q = Chr(39) & s & Chr(39) End Function Function qq( s a String ) qq = Chr(34) & s & Chr(34) End Function From stuart at lexacorp.com.pg Sat May 12 15:56:43 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sun, 13 May 2007 06:56:43 +1000 Subject: [AccessD] Constant for quote characters? In-Reply-To: <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> References: <000001c794bc$31b22730$a132fad1@SusanOne>, <46461E36.16182.F3412F8@stuart.lexacorp.com.pg>, <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> Message-ID: <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> You can also enhance these to "double escape" any embedded quotes: Function qq( s a String) s = Replace(s,Chr$(34),Chr$(34) & Chr$(34)) qq = Chr(34) & s & Chr(34) End Function Function q( s As String) s = Replace(s,Chr$(39),Chr$(39) & Chr$(39)) q = Chr(39) & s & Chr(39) End Function On 12 May 2007 at 16:42, Arthur Fuller wrote: > My preferred choice is a pair of functions called q() and qq(), which accept > a string and return the string encapsulated in either single or double > quotes. > > Function q( s As String) > q = Chr(39) & s & Chr(39) > End Function > > Function qq( s a String ) > qq = Chr(34) & s & Chr(34) > End Function > > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From fuller.artful at gmail.com Sat May 12 16:04:49 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 17:04:49 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <000401c794d8$0dfa6930$c232fad1@SusanOne> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> <000401c794d8$0dfa6930$c232fad1@SusanOne> Message-ID: <29f585dd0705121404k73564cas95e22788fa7da5b2@mail.gmail.com> Force of habit, perhaps. But if I use constants then I can't wrap them around a string, so then let's suppose that I call the constants Q and QQ, then I still have to write Q & string & Q, which I guess is ok but for me q(string) is clearer. It probably runs slower, too, but I'll pay that small price. Back in the old days, there was another way around this, where one could create virtual functions, which would get translated into in-line code by the compiler, thus avoiding the performance hit. Perhaps that's why I gravitated to that style. I grow old. A. On 5/12/07, Susan Harkins wrote: > > Why do you call functions instead of defining constants? > > From fuller.artful at gmail.com Sat May 12 16:05:34 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 12 May 2007 17:05:34 -0400 Subject: [AccessD] Constant for quote characters? In-Reply-To: <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> References: <000001c794bc$31b22730$a132fad1@SusanOne> <46461E36.16182.F3412F8@stuart.lexacorp.com.pg> <29f585dd0705121342p62f99880t132ce528119178cd@mail.gmail.com> <46462A0B.9447.F5FEFCA@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705121405o291f1fa6nadb24ec175438dba@mail.gmail.com> Excellent! On 5/12/07, Stuart McLachlan wrote: > > You can also enhance these to "double escape" any embedded quotes: > > Function qq( s a String) > s = Replace(s,Chr$(34),Chr$(34) & Chr$(34)) > qq = Chr(34) & s & Chr(34) > End Function > > Function q( s As String) > s = Replace(s,Chr$(39),Chr$(39) & Chr$(39)) > q = Chr(39) & s & Chr(39) > End Function > > From rockysmolin at bchacc.com Sat May 12 22:44:15 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Sat, 12 May 2007 20:44:15 -0700 Subject: [AccessD] Lookup and productiontables'alternativesymbolickeys... In-Reply-To: <000601c794c0$e3adfa50$6401a8c0@nant> Message-ID: <004001c79510$fa85b330$0501a8c0@HAL9005> Got it. Since I've always been a lone ranger programmer I have difficulty relating to the problems of working software in teams. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 11:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... <<< So I suppose in the form which maintains the FAB table, tblFAB is a production table. >>> No, Rocky, it will not automatically become a production table in this case of your application in my opinion. <<< I'm always interested in application. Is the production/lookup distinction it make a difference in application? >>> Yes, Rocky, I'm also interested in applications. Yes lookup/production table difference does IMO make the distinction in an application. (Lookup table in a broad sense - like your tblFAB table). These distinctions allow to clearly see the subsystems of a (large) application system and how these subsystems are related/connected to each other. The splitting on subsystems allows to create modules/components, which can be separately/in parallel programmed by a development team, allow deploying distributed systems working well in ensemble etc. etc. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 9:36 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... So I suppose in the form which maintains the FAB table, tblFAB is a production table. But in the Orders form where a FAB spec is attached to an order tblFAB would be a lookup table? But this is just definitions. I'm always interested in application. Is the production/lookup distinction it make a difference in application? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Yes, Rocky, This "gray area" tblFAB table is more a lookup than production table in my opinion. Of course in other application e.g. the one, which could be used to prepare data (insert. Update, delete) for your tblFAB table on regular basis in a company/institution, which designs technological processes for metal cutting and stamping operations, this tblFAB table will be considered a production not lookup table... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Saturday, May 12, 2007 6:54 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... Shamil: I have an app which chains five tables together - in a query as the basis of a report. (The application is a production system for a metal cutting and stamping operation). Is this the kind of thing you're referring to? A couple of these tables are clearly production tables by your definition, but others fall into a gray area. For example, one of them - tblFABs - is fairly static but contains 41 fields including the autonumber primary key, and contains information about how a job is processed and specification. Where the user needs to select a FAB number I use a combo box with just the autonumber (width zero) and the FAB number. But I think this is pretty standard programming technique. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 7:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and productiontables'alternativesymbolickeys... John, My experience shows that within a database (developed for small/middle size businesses) there are usually a few *core* production tables, which are getting updated (rows inserted, updated, deleted (marked as deleted)) often. All the other tables are getting updated not that often and they are mainly used as *lookup* tables for the few *core* production tables. IOW here lookup is meant in a broad sense. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 4:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables'alternativesymbolickeys... Shamil, I consider a lookup table to be small simple tables such as state, color, product type etc. Definitions like this are definitely gray areas, and if you apply the criteria "how often are they change" then I see where the chains would be much shorter. In the call center database, the "changes" would start at the claimant / claim / benefit / BeneCheckInfo / Check. There are cases where the same claimant has multiple claims, but MOST of the time you start with a new claimant. That often reaches back up to the policy holder / policy portion of the chain if that policy holder has never been entered before, which is less common than a new claimant. Given that I have a framework 8-) I can (and am able to) track all form usage, so I could do some statistics as to which forms are used how often. I just went and checked and I have the object tracking turned off so I would have to turn it on and wait a few weeks to get meaningful results. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Saturday, May 12, 2007 6:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Lookup and production tables' alternativesymbolickeys... Hello Stuart, Thank you for your sample: this looks for me more as "lookup up chain" - a kind of 6 levels classification system for a Voter. I obviously missed to mention such cases in my first posting. IOW: Province->District-> Local Level Government Area->Ward->Locality->Location is in my opinion a lookup tables' chain Area->Ward->Locality->not a master->detail->...->detail chain of production tables. Of course all depends on point of view: I'd distinguish lookup and production tables based on probability of how often their data is getting changed... BTW, do you have autonumber/identity keys for all your tables? do you also have (alternative) symbolic keys for your tables? Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Saturday, May 12, 2007 2:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Lookup and production tables' alternative symbolickeys... On 12 May 2007 at 13:52, Shamil Salakhetdinov wrote: > BTW, what was the longest master->detail->...->detail chain for a > database you developed? > > >From my experience an average value for the length of these chains is 2.5; > if it's 3 then the third level table is usually a (many to many) > relationship table; sometimes length of chains can be even 5 but I > have never seen chains longer than five... > > Do they exist? I'm currently working on an Electoral roll which has a seven level chain: Province District Local Level Government Area Ward Locality Location Voter -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/800 - Release Date: 5/11/2007 7:34 PM From Gustav at cactus.dk Sun May 13 06:19:49 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Sun, 13 May 2007 13:19:49 +0200 Subject: [AccessD] Constant for quote characters? Message-ID: Hi Susan You can create your own: Public Const shCharQuoteDbl As String * 1 = """" Public Const shCharQuoteSng As String * 1 = "'" or if you prefer: Public Const vbDoubleQuoteChar As String * 1 = """" Public Const vbSingleQuoteChar As String * 1 = "'" to be in line with vbNullChar. /gustav >>> ssharkins at setel.com 12-05-2007 19:37 >>> Didn't Access add a constant for the single and double quotation characters? I've checked the Constant classes, and I'm not finding it -- so either I'm just overlooking it or I'm mistaken, and there is no constant. I know I can use Chr(), but prefer a constant if there is one. Susan H. From darrend at nimble.com.au Sun May 13 18:21:46 2007 From: darrend at nimble.com.au (Darren D) Date: Mon, 14 May 2007 09:21:46 +1000 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager havecommand line switches? In-Reply-To: <46448F88.31336.2932E937@stuart.lexacorp.com.pg> Message-ID: <200705132321.l4DNLiY3023031@databaseadvisors.com> Oh Well - thanks Darren ------------------ -----Original Message----- From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] Sent: Friday, 11 May 2007 3:45 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager havecommand line switches? Since it is a .MSC file which runs in the "Microsoft Management Console", I doubt very much that there is any sort of CLI for it. On 11 May 2007 at 15:21, Darren D wrote: > > I want to click from my access app and hopefully pass some command line switches > to Enterprise Manager to get it to open the relevant dB > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.6/795 - Release Date: 09/05/2007 3:07 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 PM From bheid at sc.rr.com Sun May 13 20:39:08 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Sun, 13 May 2007 21:39:08 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> References: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> Message-ID: <000201c795c8$aa3cd620$2c01a8c0@bhxp> That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com From ebarro at verizon.net Sun May 13 20:46:15 2007 From: ebarro at verizon.net (Eric Barro) Date: Sun, 13 May 2007 18:46:15 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <000201c795c8$aa3cd620$2c01a8c0@bhxp> Message-ID: <0JI0005HWCX18312@vms040.mailsrvcs.net> No he's using VISTA....Heheheheheh. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 6:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/801 - Release Date: 5/12/2007 6:40 PM From jwcolby at colbyconsulting.com Sun May 13 21:06:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:06:50 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <000201c795c8$aa3cd620$2c01a8c0@bhxp> Message-ID: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> >You are using messagebox.show, right? Yes. It does show up if I click on the program icon representing the windows form for the VB.Net program, but it will not pop up over (for example) Outlook if I have that open or Firefox if I have that open. It also does not cause the little icon in the toolbar to turn dark blue or flash as some other programs can cause their toolbar icon to do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 9:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sun May 13 21:07:39 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:07:39 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI0005HWCX18312@vms040.mailsrvcs.net> Message-ID: <20070514020739.32F15BD3F@smtp-auth.no-ip.com> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Eric Barro Sent: Sunday, May 13, 2007 9:46 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox No he's using VISTA....Heheheheheh. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 6:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/801 - Release Date: 5/12/2007 6:40 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Sun May 13 21:15:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 22:15:37 -0400 Subject: [AccessD] OT: Comodo firewall Message-ID: <20070514021537.84F86BD3D@smtp-auth.no-ip.com> Is anyone out there using Comodo firewall pro? I have it, I like it, and I am actually considering standardizing on it. OTOH I need to learn more about it because (for example) when I turn it on to "custom" it prevents the other SQL Server from seeing the servers running behind that firewall. I am just wondering if anyone out there knows how to configure it to allow other machines inside of my internal network to establish a trusted zone (I know that it can do that) and what protocols to allow, etc. Firewalls just have too many tweaks and I do not understand them well enough to function. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Sun May 13 22:05:25 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 13 May 2007 23:05:25 -0400 Subject: [AccessD] OT: Comodo firewall In-Reply-To: <20070514021537.84F86BD3D@smtp-auth.no-ip.com> Message-ID: <20070514030524.4D046BCD2@smtp-auth.no-ip.com> Well, that turned out to be too easy. I downloaded comodo onto the new server, deleted all of the existing rules re specific protocalls, used the wizard on both systems to set up a trusted zone and voila, they can see shared folders. To get SQL Server happening I had to register the servers and then switch back and forth between the servers answering affirmative on the Comodo prompts and Voila, each server can see the other's server. Too bad they don't make an AV. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Sunday, May 13, 2007 10:16 PM To: Tech - Database Advisors Inc.; 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Comodo firewall Is anyone out there using Comodo firewall pro? I have it, I like it, and I am actually considering standardizing on it. OTOH I need to learn more about it because (for example) when I turn it on to "custom" it prevents the other SQL Server from seeing the servers running behind that firewall. I am just wondering if anyone out there knows how to configure it to allow other machines inside of my internal network to establish a trusted zone (I know that it can do that) and what protocols to allow, etc. Firewalls just have too many tweaks and I do not understand them well enough to function. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From darrend at nimble.com.au Mon May 14 00:02:16 2007 From: darrend at nimble.com.au (Darren D) Date: Mon, 14 May 2007 15:02:16 +1000 Subject: [AccessD] OT:FTP Client Message-ID: <200705140502.l4E52BfU011474@databaseadvisors.com> Hi All Brains trust question ? WAY OT Please respond off list I need a free and I mean free ? FTP Client ? It need to be free ? did I mention that? I know a lot of people on the list like (and recommend) 3D ? that?s cool but it ain?t free I need recommendations of a free one Many thanks in advance Darren No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 PM From stuart at lexacorp.com.pg Mon May 14 00:43:44 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 14 May 2007 15:43:44 +1000 Subject: [AccessD] OT:FTP Client In-Reply-To: <200705140502.l4E52BfU011474@databaseadvisors.com> References: <200705140502.l4E52BfU011474@databaseadvisors.com> Message-ID: <464883B0.18900.38A4A335@stuart.lexacorp.com.pg> FileZilla, SmartFTP (free for personal use only), or the FireFTP plugin for Firefox are all good To bring it back on topic. There's a simple FTPSend utility on my website if you just want to upload files to an FTP site. You can shell to it from VBA in an Access Application. That's how all the election results for PNG end up on the Electoral Commission website. The HTML pages are built in Access from an SQL Server BE and uploaded to the WWW with a single button click. Check out FTPSend under the Free Software button at http://www.lexacorp.com.pg On 14 May 2007 at 15:02, Darren D wrote: > Hi All > > Brains trust question ? WAY OT > > Please respond off list > > I need a free and I mean free ? FTP Client ? It need to be free ? did I mention > that? > > I know a lot of people on the list like (and recommend) 3D ? that?s cool but it > ain?t free > > I need recommendations of a free one > > Many thanks in advance > > Darren > > > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 13/05/2007 12:17 > PM > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Gustav at cactus.dk Mon May 14 03:00:34 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 10:00:34 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From ewaldt at gdls.com Mon May 14 06:10:07 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Mon, 14 May 2007 07:10:07 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: Message-ID: I am running into a problem with a cross tab query. I have a report based on a parameter query, which is in turn based on a cross tab query (which is based on the same parameter), and ADO doesn't seem happy. On MSFT's site, they use DAO in their (very complex) example, and they show how to specify a parameter (qdf = a QueryDef, and qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn it), but I don't see how to specify a parameter's value in ADO. I'm assuming that's the problem , because Access keeps saying that I'm not specifiying required info. Also, when I went through and replaced all instances of parameters in the queries (query based on queries based on queries) with solid numbers, it worked. In the actual queries, the parameter is: [Forms]![frmWeeklyData]![fraMonths] This simply refers to a frame containing option buttons so that I can specify the month I'm interested in. The month's number is then used by the queries. Running the queries without the report works just fine. However, since a cross tab query is involved, and there can be varying numbers of columns, I have to use dynamic columns in the report, and that's where complexity rears its ugly head. The parameter query (that calls the cross tab query) is necessary because I have information in addition to the cross tab query itself which is needed in the report. Here's the code portion that Access highlights: rst.Open _ Source:="qfrmWeeklyData", _ ActiveConnection:=CurrentProject.Connection, _ Options:=adCmdTable I'd greatly appreciate any help with this. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From jwcolby at colbyconsulting.com Mon May 14 06:56:02 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 07:56:02 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> ROTFL. I am using SQL Server 2005, which is the primary mission of the box. And the SQL folks said XP on a server box is not a good idea. I moved to Windows Server 2003 and fixed problems I was having with SQL Server. So there ya go. 2003 it is on this and my other SQL Server box. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 4:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Gustav at cactus.dk Mon May 14 07:31:18 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 14:31:18 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 13:56 >>> ROTFL. I am using SQL Server 2005, which is the primary mission of the box. And the SQL folks said XP on a server box is not a good idea. I moved to Windows Server 2003 and fixed problems I was having with SQL Server. So there ya go. 2003 it is on this and my other SQL Server box. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 4:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From Gustav at cactus.dk Mon May 14 07:59:01 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 14:59:01 +0200 Subject: [AccessD] Cross Tab Query Help Requested Message-ID: Hi Thomas Here's an article on using ADO and parameters: http://support.microsoft.com/kb/225897/en-us Also, look up in the archives subject "ADO code stopped working" from early February this year. If it works now with DAO, I would leave it except, of course, if this is a learning experience. /gustav >>> ewaldt at gdls.com 14-05-2007 13:10 >>> I am running into a problem with a cross tab query. I have a report based on a parameter query, which is in turn based on a cross tab query (which is based on the same parameter), and ADO doesn't seem happy. On MSFT's site, they use DAO in their (very complex) example, and they show how to specify a parameter (qdf = a QueryDef, and qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn it), but I don't see how to specify a parameter's value in ADO. I'm assuming that's the problem , because Access keeps saying that I'm not specifiying required info. Also, when I went through and replaced all instances of parameters in the queries (query based on queries based on queries) with solid numbers, it worked. In the actual queries, the parameter is: [Forms]![frmWeeklyData]![fraMonths] This simply refers to a frame containing option buttons so that I can specify the month I'm interested in. The month's number is then used by the queries. Running the queries without the report works just fine. However, since a cross tab query is involved, and there can be varying numbers of columns, I have to use dynamic columns in the report, and that's where complexity rears its ugly head. The parameter query (that calls the cross tab query) is necessary because I have information in addition to the cross tab query itself which is needed in the report. Here's the code portion that Access highlights: rst.Open _ Source:="qfrmWeeklyData", _ ActiveConnection:=CurrentProject.Connection, _ Options:=adCmdTable I'd greatly appreciate any help with this. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Mon May 14 08:06:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 09:06:40 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav From Gustav at cactus.dk Mon May 14 08:31:29 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 15:31:29 +0200 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: Hi John OK, sounds like you are well equipped. I just wondered - to return to your question - what a messagebox had to do on a server machine ... /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 15:06 >>> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav From jwcolby at colbyconsulting.com Mon May 14 08:56:03 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 09:56:03 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514135602.06AE9BD2F@smtp-auth.no-ip.com> >I just wondered - to return to your question - what a messagebox had to do on a server machine ... Well, I am doing dev work there. I use a message box to get my attention when a file finishes the transform. I was timing it (manually with a stop watch) and was not seeing the messagebox. The messagebox will be going away of course for the production version but they are useful, and having them pop up (become visible) is a useful thing during development. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 9:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John OK, sounds like you are well equipped. I just wondered - to return to your question - what a messagebox had to do on a server machine ... /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 15:06 >>> Gustav, >So you are developing on a 2003 running SQL Server? Yes. This machine is the one I am doing the data transforms on, transforming the dozens of flat file fixed width files into pipe delimited "csv" files. This SQL Server box is the one that then pulls the "CSV" files in to SQL Server using the BULK INSERT, so I was just developing the transform application right on that machine. >That must be slow for you, the user. No, not particularly. It is a dual core AMD x64 3.8GHZ with 4 gb ram, a pretty speedy machine. >Did you check the setting I mentioned? I did, but haven't run the >VB.Net program since. I really think that it is more a matter of threading. I am moving to using a worker thread to run the transform process. If I can figure it out that thread will then feed back a progress count to the main form to display in a progress bar. >That said, if you need two boxes for SQL Server, you should add a third >for yourself. LOL, right you are. I own 5 different machines. Two are the dual core machines with 4gb ram and terrabyte raid arrays, both run Windows 2003 Standard. Those are slated for use with these big databases being pulled in from the raw files. I already have one database that started as 65 million records / 700+ fields, whittled down to around 50 million records after validating the address. I just finished importing a 97 million record table with 149 fields in it. That is in and I am prepping it for export back out for the address validation software, running on a older machine. I have a third database on the way which I am told is about 80 million records, number of fields unknown. That will have to run through my data transform app and be imported, then exported out again for address validation. So that is what these two "big" machines are for. I have two older machines that are "smaller" AMD single core X64 processors with 2 gb ram. One of them is used for the address validation software mentioned above. The other ATM is just sitting. And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. Anyway, I have plenty of machines. I am doing the development on the SQL Server machine simply because that is where the resulting software is going to run, though it doesn't have to. It would be interesting to see how fast the transforms happen on the older single core machines. I have a gigabit switch between all these machines so if it runs fast on one of the older machines I could dedicate the one that is just sitting there to running that transform application. There is going to be plenty of work to do to go around. Of course my power bill goes up every time I turn on another machine. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 8:31 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John So you are developing on a 2003 running SQL Server? That must be slow for you, the user. Did you check the setting I mentioned? However, if the box is optimized for SQL Server, you should leave it to prioritize background tasks. That said, if you need two boxes for SQL Server, you should add a third for yourself. /gustav -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fuller.artful at gmail.com Mon May 14 09:19:29 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 14 May 2007 10:19:29 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: References: Message-ID: <29f585dd0705140719u5b8c149brb43c2fdc5ce78a1@mail.gmail.com> In my experience, the easiest solution was to use static functions in the first query, and then base the crosstab query on that result set. For the SQL Server folks on this list, there is an amazing stored procedure available at Simple-Talk (www.simple-talk.com) that dynamically generates cross-tabs as complex as you'd like. One of the big problems with cross-tabs is that the number of columns might change from run to run. This stored procedure gets around that. In the interests of transparency, let me admit that I write for Simple Talk, although I did not write this article and wish that I had. The stored procedure is amazing. Arthur On 5/14/07, Gustav Brock wrote: > > Hi Thomas > > Here's an article on using ADO and parameters: > > http://support.microsoft.com/kb/225897/en-us > > Also, look up in the archives subject "ADO code stopped working" from > early February this year. > > If it works now with DAO, I would leave it except, of course, if this is a > learning experience. > > /gustav > > >>> ewaldt at gdls.com 14-05-2007 13:10 >>> > I am running into a problem with a cross tab query. > > I have a report based on a parameter query, which is in turn based on a > cross tab query (which is based on the same parameter), and ADO doesn't > seem happy. On MSFT's site, they use DAO in their (very complex) example, > and they show how to specify a parameter (qdf = a QueryDef, and > qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to learn > it), but I don't see how to specify a parameter's value in ADO. I'm > assuming that's the problem , because Access keeps saying that I'm not > specifiying required info. Also, when I went through and replaced all > instances of parameters in the queries (query based on queries based on > queries) with solid numbers, it worked. In the actual queries, the > parameter is: > > [Forms]![frmWeeklyData]![fraMonths] > > This simply refers to a frame containing option buttons so that I can > specify the month I'm interested in. The month's number is then used by > the queries. > > Running the queries without the report works just fine. However, since a > cross tab query is involved, and there can be varying numbers of columns, > I have to use dynamic columns in the report, and that's where complexity > rears its ugly head. The parameter query (that calls the cross tab query) > is necessary because I have information in addition to the cross tab query > itself which is needed in the report. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker 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 lmrazek at lcm-res.com Mon May 14 09:45:56 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 09:45:56 -0500 Subject: [AccessD] Printing to a directly generic text printer In-Reply-To: References: Message-ID: <065701c79636$95e85460$046fa8c0@lcmdv8000> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From Gustav at cactus.dk Mon May 14 10:05:31 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 17:05:31 +0200 Subject: [AccessD] Printing to a directly generic text printer Message-ID: Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From lmrazek at lcm-res.com Mon May 14 10:36:41 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 10:36:41 -0500 Subject: [AccessD] Printing to a directly generic text printer In-Reply-To: References: Message-ID: <067801c7963d$ac2202b0$046fa8c0@lcmdv8000> Thanks Gustav: That works better than my code. Since I'm sending directly to the printer, could this interfere with a document that was currently printing from another user/application? Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 10:06 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Printing to a directly generic text printer Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Gustav at cactus.dk Mon May 14 10:49:34 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 14 May 2007 17:49:34 +0200 Subject: [AccessD] Printing to a directly generic text printer Message-ID: Hi Larry It could, but if you connect the printer to a printer queue (on a print server) and everyone print to that queue, that will be the safest method possible. /gustav >>> lmrazek at lcm-res.com 14-05-2007 17:36:41 >>> Thanks Gustav: That works better than my code. Since I'm sending directly to the printer, could this interfere with a document that was currently printing from another user/application? Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 10:06 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Printing to a directly generic text printer Hi Larry We've used: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 Print #1, PrtStr Close #1 with an Axiohm printer. /gustav >>> lmrazek at lcm-res.com 14-05-2007 16:45:56 >>> Hi: Due to an incompatibility between a Windows Printer drive and a barcode label printer's configuration, it looks like I'm going to have to have an application print directly to the printer using ZPL II language. I've figured out that I can install the label printer as a Generic Text Printer, then send the data directly, I can successfully create a barcode. Since my application will be sharing the barcode printer with another (much more important) application, I need to make sure that my app plays nicely. I'm using the following code (found some examples on the net) to test: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Random As #1 Put #1, , PrtStr Close #1 (\\HPLaptop\HPOFFICEJET) is my local printer I'm using for testing. Actual output printed is: 6Printer Test Text llllllllllllllllllllllllllllllllllll Has anyone else done this, or have any suggestions on how to make this better? Thanks in advance. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From ebarro at verizon.net Mon May 14 10:59:09 2007 From: ebarro at verizon.net (Eric Barro) Date: Mon, 14 May 2007 08:59:09 -0700 Subject: [AccessD] [dba-SQLServer] Cross Tab Query Help Requested In-Reply-To: <29f585dd0705140719u5b8c149brb43c2fdc5ce78a1@mail.gmail.com> Message-ID: <0JI1009VWGDX8395@vms046.mailsrvcs.net> Arthur, Do you have the link to the article? Eric -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 7:19 AM To: Access Developers discussion and problem solving Cc: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] [AccessD] Cross Tab Query Help Requested In my experience, the easiest solution was to use static functions in the first query, and then base the crosstab query on that result set. For the SQL Server folks on this list, there is an amazing stored procedure available at Simple-Talk (www.simple-talk.com) that dynamically generates cross-tabs as complex as you'd like. One of the big problems with cross-tabs is that the number of columns might change from run to run. This stored procedure gets around that. In the interests of transparency, let me admit that I write for Simple Talk, although I did not write this article and wish that I had. The stored procedure is amazing. Arthur On 5/14/07, Gustav Brock wrote: > > Hi Thomas > > Here's an article on using ADO and parameters: > > http://support.microsoft.com/kb/225897/en-us > > Also, look up in the archives subject "ADO code stopped working" from > early February this year. > > If it works now with DAO, I would leave it except, of course, if this > is a learning experience. > > /gustav > > >>> ewaldt at gdls.com 14-05-2007 13:10 >>> > I am running into a problem with a cross tab query. > > I have a report based on a parameter query, which is in turn based on > a cross tab query (which is based on the same parameter), and ADO > doesn't seem happy. On MSFT's site, they use DAO in their (very > complex) example, and they show how to specify a parameter (qdf = a > QueryDef, and > qdf.Parameters(xxx) = yyy). I really prefer to use ADO (trying to > learn it), but I don't see how to specify a parameter's value in ADO. > I'm assuming that's the problem , because Access keeps saying that I'm > not specifiying required info. Also, when I went through and replaced > all instances of parameters in the queries (query based on queries > based on > queries) with solid numbers, it worked. In the actual queries, the > parameter is: > > [Forms]![frmWeeklyData]![fraMonths] > > This simply refers to a frame containing option buttons so that I can > specify the month I'm interested in. The month's number is then used > by the queries. > > Running the queries without the report works just fine. However, since > a cross tab query is involved, and there can be varying numbers of > columns, I have to use dynamic columns in the report, and that's where > complexity rears its ugly head. The parameter query (that calls the > cross tab query) is necessary because I have information in addition > to the cross tab query itself which is needed in the report. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker Mass Properties > General Dynamics Land Systems > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/803 - Release Date: 5/13/2007 12:17 PM From reuben at gfconsultants.com Mon May 14 11:04:35 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Mon, 14 May 2007 12:04:35 -0400 Subject: [AccessD] OT - eFax Service Message-ID: Do any of you use one of the online "eFax" services? If so, any recommendations? We are switching to fiber and will have our phone, cable, and internet all over fiber. We are hoping to eliminate the second phone line when we do this. The second line will only be $20 from the new company so it's not a big expense, but why have it if I can fax online. Thanks. Reuben Cummings GFC, LLC 812.523.1017 From fuller.artful at gmail.com Mon May 14 11:11:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 14 May 2007 12:11:35 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> References: <000201c795c8$aa3cd620$2c01a8c0@bhxp> <20070514020650.B55D5BD19@smtp-auth.no-ip.com> Message-ID: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows > form for the VB.Net program, but it will not pop up over (for example) > Outlook if I have that open or Firefox if I have that open. It also does > not cause the little icon in the toolbar to turn dark blue or flash as > some > other programs can cause their toolbar icon to do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From jwcolby at colbyconsulting.com Mon May 14 11:31:01 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 12:31:01 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> Message-ID: <20070514163059.EF739BCDA@smtp-auth.no-ip.com> I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Mon May 14 11:47:16 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 14 May 2007 09:47:16 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <0JI1002VBIETNJN0@l-daemon> Hi Gustav: Why is having a server as a desktop not a good idea? These are the reasons I would recommend it: 1. It runs more stably. Rarely crashes and I do put it through its paces. XP on the other hand can freeze up easily when pushed too hard. 2. Has great built-in security. It can not even be seen on the LAN if that is your requirement. 3. Full admin terminal services built not just a single user. You can easily remote in from a clients site. 4. Easy communications with remote/local and different OS like Mac/Linux... try that with an XP box without a lot of fuss. 5. Runs multiple resource heavy apps without grinding to a halt or just crashing: like a couple of web servers, a couple of SQL servers 2000/2005, virtual server and throw in a resource hungry graphic program. Try running Oracle Enterprise 10g on an XP box.... yeh-right. 6. Runs multi-versions of development apps, like Access, VB, Visual Studio... 7. For all these heavy duty programs the system can actually take full advantage of the entire RAM that can be crammed in the box. XP will look at the memory but will not necessarily do anything with it. I do not recommend this much load but for you multi-tasking power users...my recommendation is if you have the opportunity is to run a nice Windows 2003 standard server. It has a lot more complexity than the standard desktop and will not always play nice with other servers on the LAN but has all the tools to taming it. ...After all many Linux distros have the capabilities of being full-blown, multi-user, multi-tasking servers with a pretty interface. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 1:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> >No he's using VISTA....Heheheheheh. Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 14 11:51:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 09:51:28 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514163059.EF739BCDA@smtp-auth.no-ip.com> References: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com> <20070514163059.EF739BCDA@smtp-auth.no-ip.com> Message-ID: If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Mon May 14 12:12:20 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:12:20 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514171219.60E1BBDBE@smtp-auth.no-ip.com> LOL, yea, I do have a problem. Not a big one though, I just had to be aware that it wasn't going to wave in my face. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 14, 2007 12:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Mon May 14 12:14:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:14:04 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI1002VBIETNJN0@l-daemon> Message-ID: <20070514171403.B00C7BC0B@smtp-auth.no-ip.com> It has run very well for me once I got them set up. Pretty much smooth as silk. The standard version will NOT use more than 4g of ram however, unless you can step up to the 64 bit version which I cannot. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 14, 2007 12:47 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi Gustav: Why is having a server as a desktop not a good idea? These are the reasons I would recommend it: 1. It runs more stably. Rarely crashes and I do put it through its paces. XP on the other hand can freeze up easily when pushed too hard. 2. Has great built-in security. It can not even be seen on the LAN if that is your requirement. 3. Full admin terminal services built not just a single user. You can easily remote in from a clients site. 4. Easy communications with remote/local and different OS like Mac/Linux... try that with an XP box without a lot of fuss. 5. Runs multiple resource heavy apps without grinding to a halt or just crashing: like a couple of web servers, a couple of SQL servers 2000/2005, virtual server and throw in a resource hungry graphic program. Try running Oracle Enterprise 10g on an XP box.... yeh-right. 6. Runs multi-versions of development apps, like Access, VB, Visual Studio... 7. For all these heavy duty programs the system can actually take full advantage of the entire RAM that can be crammed in the box. XP will look at the memory but will not necessarily do anything with it. I do not recommend this much load but for you multi-tasking power users...my recommendation is if you have the opportunity is to run a nice Windows 2003 standard server. It has a lot more complexity than the standard desktop and will not always play nice with other servers on the LAN but has all the tools to taming it. ...After all many Linux distros have the capabilities of being full-blown, multi-user, multi-tasking servers with a pretty interface. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 14, 2007 1:01 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox Hi John A server OS for desktop use? Not a good idea. Perhaps your programs miss priority? Look up My Computer, Properties, Advanced, Performance, Settings, Advanced. /gustav From fhtapia at gmail.com Mon May 14 12:14:54 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 14 May 2007 10:14:54 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> References: <20070514115601.D76F9BDFA@smtp-auth.no-ip.com> Message-ID: That is true John, but you ought to consider running your VS on an XP box to help avoid other security issues from 2003. 2003 is an excellent OS and one that we had not had many issues with, however I don't use this OS for anything other than a strict Server OS. That means nothing that is not Server related, (Sql 2000/2005 only). One thing you can consider is to install VMware Server (free copy) and use a product like VMware Converter (also free) to create an XP OS on your server. You can then install VS on there and run it on one of the cores for your 64 server. (choose 1 instead of two so that you can allow the Sql server to utilize as much CPU as needed for cpu intensive process. Also place the Virtual Disks on a disk not utilized by your sql server, I remember you had segregated everything... even a Usb2.0 drive will help here, where you install your vmware machine to that usb2.0 drive to help maintain performance on the vmware machine and not take any away from your sql server functions (such as those required for the high intensive reads, ie, imports/exports). my two cents (both the products I mentioned are provided free of charge from Vmware) -- Francisco On 5/14/07, jwcolby wrote: > > ROTFL. I am using SQL Server 2005, which is the primary mission of the > box. > And the SQL folks said XP on a server box is not a good idea. I moved to > Windows Server 2003 and fixed problems I was having with SQL Server. > > So there ya go. 2003 it is on this and my other SQL Server box. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 4:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From fhtapia at gmail.com Mon May 14 12:22:32 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 14 May 2007 10:22:32 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <0JI1002VBIETNJN0@l-daemon> References: <0JI1002VBIETNJN0@l-daemon> Message-ID: Wow, that is one way to do things. I like segregation of software as often does occur installing a newer version of something even MS can cause a machine to belly-up, including 2003. though it is incredibly stable. My XP boxes have been extreamly reliable, but I generally have them segregated, I have one that is all dev work (vb.net) a second physical box for 2003 w/ Sql 2000 and 2005. I have a 3rd vm that is my main workstation and I tug that on my usb drive between work and home. -- Francisco On 5/14/07, Jim Lawrence wrote: > > Hi Gustav: > > Why is having a server as a desktop not a good idea? These are the reasons > I > would recommend it: > > 1. It runs more stably. Rarely crashes and I do put it through its paces. > XP > on the other hand can freeze up easily when pushed too hard. > 2. Has great built-in security. It can not even be seen on the LAN if that > is your requirement. > 3. Full admin terminal services built not just a single user. You can > easily > remote in from a clients site. > 4. Easy communications with remote/local and different OS like > Mac/Linux... > try that with an XP box without a lot of fuss. > 5. Runs multiple resource heavy apps without grinding to a halt or just > crashing: like a couple of web servers, a couple of SQL servers 2000/2005, > virtual server and throw in a resource hungry graphic program. Try running > Oracle Enterprise 10g on an XP box.... yeh-right. > 6. Runs multi-versions of development apps, like Access, VB, Visual > Studio... > 7. For all these heavy duty programs the system can actually take full > advantage of the entire RAM that can be crammed in the box. XP will look > at > the memory but will not necessarily do anything with it. > > I do not recommend this much load but for you multi-tasking power > users...my > recommendation is if you have the opportunity is to run a nice Windows > 2003 > standard server. It has a lot more complexity than the standard desktop > and > will not always play nice with other servers on the LAN but has all the > tools to taming it. ...After all many Linux distros have the capabilities > of being full-blown, multi-user, multi-tasking servers with a pretty > interface. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 1:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From jwcolby at colbyconsulting.com Mon May 14 12:30:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:30:30 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514173029.B6F84BCB2@smtp-auth.no-ip.com> I am not sure whether this is true or not but I have always felt that I do not have the same level of security issues that others might. I am a one man shop. All of my systems run on a LAN behind a router. No one routinely remotes in to my system, I don't publish a web page (through the firewall out to the web), I run software firewalls on all machines etc. If I were going to take your advice, which I might, I would probably set up one of my older machines as my personal workstation kind of machine. With everything on a single small lan, I actually use a kvm switch to switch between up to 4 systems so it is simple to switch back and forth between boxes. I can also use remote desktop if I want to to get at each box. Having Server 2003 running on the big boxes means I can actually have the desktop showing on the monitor and remote in from my laptop (for example) to another instance of the same user, or even another user. Remote desktop across a local LAN is just as fast as live. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 14, 2007 1:15 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox That is true John, but you ought to consider running your VS on an XP box to help avoid other security issues from 2003. 2003 is an excellent OS and one that we had not had many issues with, however I don't use this OS for anything other than a strict Server OS. That means nothing that is not Server related, (Sql 2000/2005 only). One thing you can consider is to install VMware Server (free copy) and use a product like VMware Converter (also free) to create an XP OS on your server. You can then install VS on there and run it on one of the cores for your 64 server. (choose 1 instead of two so that you can allow the Sql server to utilize as much CPU as needed for cpu intensive process. Also place the Virtual Disks on a disk not utilized by your sql server, I remember you had segregated everything... even a Usb2.0 drive will help here, where you install your vmware machine to that usb2.0 drive to help maintain performance on the vmware machine and not take any away from your sql server functions (such as those required for the high intensive reads, ie, imports/exports). my two cents (both the products I mentioned are provided free of charge from Vmware) -- Francisco From rl_stewart at highstream.net Mon May 14 12:36:10 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Mon, 14 May 2007 12:36:10 -0500 Subject: [AccessD] A2003: Does SQL Server 2000 Enterprise manager have command line switches? In-Reply-To: References: Message-ID: <200705141738.l4EHcpMm018719@databaseadvisors.com> Darren, The simple answer is no. What is it you are wanting to do? Robert At 11:11 AM 5/14/2007, you wrote: >Date: Mon, 14 May 2007 09:21:46 +1000 >From: "Darren D" >Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager > havecommand line switches? >To: "'Access Developers discussion and problem solving'" > >Message-ID: <200705132321.l4DNLiY3023031 at databaseadvisors.com> >Content-Type: text/plain; charset="windows-1250" > >Oh Well - thanks > >Darren >------------------ >-----Original Message----- >From: Stuart McLachlan [mailto:stuart at lexacorp.com.pg] >Sent: Friday, 11 May 2007 3:45 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] A2003: Does SQL Server 2000 Enterprise manager >havecommand line switches? > >Since it is a .MSC file which runs in the "Microsoft Management >Console", I doubt very much that there is any sort of CLI for it. > > >On 11 May 2007 at 15:21, Darren D wrote: > > > > > I want to click from my access app and hopefully pass some command line >switches > > to Enterprise Manager to get it to open the relevant dB > > From rl_stewart at highstream.net Mon May 14 12:38:53 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Mon, 14 May 2007 12:38:53 -0500 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: References: Message-ID: <200705141743.l4EHhp4M021362@databaseadvisors.com> And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. At 11:11 AM 5/14/2007, you wrote: >Date: Mon, 14 May 2007 07:56:02 -0400 >From: "jwcolby" >Subject: Re: [AccessD] VB.Net - seeing the messagebox >To: "'Access Developers discussion and problem solving'" > >Message-ID: <20070514115601.D76F9BDFA at smtp-auth.no-ip.com> >Content-Type: text/plain; charset="us-ascii" > >ROTFL. I am using SQL Server 2005, which is the primary mission of the box. >And the SQL folks said XP on a server box is not a good idea. I moved to >Windows Server 2003 and fixed problems I was having with SQL Server. > >So there ya go. 2003 it is on this and my other SQL Server box. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, May 14, 2007 4:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] VB.Net - seeing the messagebox > >Hi John > >A server OS for desktop use? Not a good idea. >Perhaps your programs miss priority? Look up My Computer, Properties, >Advanced, Performance, Settings, Advanced. > >/gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > >Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. From jwcolby at colbyconsulting.com Mon May 14 12:49:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 13:49:50 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <200705141743.l4EHhp4M021362@databaseadvisors.com> Message-ID: <20070514174949.6A27DBC8E@smtp-auth.no-ip.com> >And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. Good to know. I feel comfortable developing on this box. It is fast and stable. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Monday, May 14, 2007 1:39 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox And for developing in .Net for deployment on Win 2003 server, guess what developing on 2003 server is the best way to go also. From markamatte at hotmail.com Mon May 14 13:42:05 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Mon, 14 May 2007 18:42:05 +0000 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: I was also wondering this. I have a desktop at home running 2000 Server...that has been running 24/7 for over 3 years. Every 30 minutes it retrieves stock data files(via FTP),unzips them, imports into Access, analyzes the data, does historical comparison, then emails the data to a number of phones(if anything matches criteria). This is the only thing thing this box does aside from some periodic development...and the only problems I have had was 1 hard drive failure...and my email crashed...Neither an OS problem...other than that...this thing has never had an issue. By no means am I an expert on OS's...but of the 15 or so machines I've had, running Win95,Win98,Win2000,Win ME(it came on the machine, not my choice),and XP.....2000Server has been the most stable machine I have ever had. Just curious, Mark A. Matte >From: Jim Lawrence >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] VB.Net - seeing the messagebox >Date: Mon, 14 May 2007 09:47:16 -0700 > >Hi Gustav: > >Why is having a server as a desktop not a good idea? These are the reasons >I >would recommend it: > >1. It runs more stably. Rarely crashes and I do put it through its paces. >XP >on the other hand can freeze up easily when pushed too hard. >2. Has great built-in security. It can not even be seen on the LAN if that >is your requirement. >3. Full admin terminal services built not just a single user. You can >easily >remote in from a clients site. >4. Easy communications with remote/local and different OS like Mac/Linux... >try that with an XP box without a lot of fuss. >5. Runs multiple resource heavy apps without grinding to a halt or just >crashing: like a couple of web servers, a couple of SQL servers 2000/2005, >virtual server and throw in a resource hungry graphic program. Try running >Oracle Enterprise 10g on an XP box.... yeh-right. >6. Runs multi-versions of development apps, like Access, VB, Visual >Studio... >7. For all these heavy duty programs the system can actually take full >advantage of the entire RAM that can be crammed in the box. XP will look at >the memory but will not necessarily do anything with it. > >I do not recommend this much load but for you multi-tasking power >users...my >recommendation is if you have the opportunity is to run a nice Windows 2003 >standard server. It has a lot more complexity than the standard desktop and >will not always play nice with other servers on the LAN but has all the >tools to taming it. ...After all many Linux distros have the capabilities >of being full-blown, multi-user, multi-tasking servers with a pretty >interface. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock >Sent: Monday, May 14, 2007 1:01 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] VB.Net - seeing the messagebox > >Hi John > >A server OS for desktop use? Not a good idea. >Perhaps your programs miss priority? Look up My Computer, Properties, >Advanced, Performance, Settings, Advanced. > >/gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > >Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From jwcolby at colbyconsulting.com Mon May 14 13:53:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 14:53:37 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <20070514185336.0D31CBC79@smtp-auth.no-ip.com> Mark, Unfortunately of the Oss you mentioned only Windows 2000 even qualifies as a stable OS. Windows XP was supposedly built on the Windows 2000 platform and is very stable, at least vs the other mentioned OSs. Windows 2003 has IMO been even more stable than Windows XP Pro which I used exclusively for several years. The only issue I have run into using Windows 2003 as opposed to XP is driver issues. For example my Brother Fax 2820 does not have drivers for Windows 2003 and refuses to install the XP drivers. My experience has been that XP drivers will work IF you can coerce the install package to install them. If the installer does not do an OS check sees 2003 as XP, the drivers have always worked. I truly like 2003 and thank those in this and the SQL Server group that smacked me around until I installed it on my servers. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Monday, May 14, 2007 2:42 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VB.Net - seeing the messagebox I was also wondering this. I have a desktop at home running 2000 Server...that has been running 24/7 for over 3 years. Every 30 minutes it retrieves stock data files(via FTP),unzips them, imports into Access, analyzes the data, does historical comparison, then emails the data to a number of phones(if anything matches criteria). This is the only thing thing this box does aside from some periodic development...and the only problems I have had was 1 hard drive failure...and my email crashed...Neither an OS problem...other than that...this thing has never had an issue. By no means am I an expert on OS's...but of the 15 or so machines I've had, running Win95,Win98,Win2000,Win ME(it came on the machine, not my choice),and XP.....2000Server has been the most stable machine I have ever had. Just curious, Mark A. Matte From shamil at users.mns.ru Mon May 14 14:19:56 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 14 May 2007 23:19:56 +0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070512130945.B9971BBF0@smtp-auth.no-ip.com> Message-ID: <003a01c7965c$dbd25220$6401a8c0@nant> John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 14 14:28:02 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 15:28:02 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <003a01c7965c$dbd25220$6401a8c0@nant> Message-ID: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 andy at minstersystems.co.uk Mon May 14 15:04:04 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 14 May 2007 21:04:04 +0100 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Message-ID: <000401c79663$05a9eee0$d787d355@minster33c3r25> We seem to have let our standards slip recently regarding posting topics to the appropriate lists, and regarding cross-posting. Can I just remind everyone that we have a specific SQL-Server list, one for VB, one for Visio, a dba-Tech list for other IT matters, and an OT list for non-IT matters (see http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more use of these other lists and try to limit AccessD to Access stuff. I know that AccessD is the main list, but SQLServer and VB particularly have many members and are specifically geared to answering questions on those topics. If you have a question which belongs on one of the other lists I urge you to please post it on the appropriate list first. If you don't get the response you're after and believe that reposting to AccessD will help then of course you're going to, but you should then append "(originally posted to dba-xx)" to your subject. This will help people who have already seen the original. It may even encourage wider membership of the other lists. Please avoid the scatter-gun approach of just posting the same question straight away to all of the lists. This generates wasted bandwidth, is a particular irritant for those on multiple lists and uses up storage in our archive. Many thanks for your co-operation. -- Andy Lacey http://www.minstersystems.co.uk From shamil at users.mns.ru Mon May 14 15:25:02 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Tue, 15 May 2007 00:25:02 +0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514192801.2A148BC66@smtp-auth.no-ip.com> Message-ID: <004b01c79665$f513d750$6401a8c0@nant> John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 lmrazek at lcm-res.com Mon May 14 15:47:16 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Mon, 14 May 2007 16:47:16 -0400 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> Hi: Thanks to Gustav, I have some code that works on my local machine ... however, I'll need to print to an IP address, and I haven't been able to find the syntax. This Works: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close #1 This doesn't (no errors, basically nothing) Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "10.0.2.22" For Output As #1 Print #1, PrtStr Close #1 Anyone have any ideas? Thanks in advance. Larry Mrazek lmrazek at lcm-res.com From stuart at lexacorp.com.pg Mon May 14 16:12:39 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 07:12:39 +1000 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> Message-ID: <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able to > find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 > rint #1, PrtStr > Close #1 > > This doesn't (no errors, basically nothing) > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From jwcolby at colbyconsulting.com Mon May 14 16:16:55 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 14 May 2007 17:16:55 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <004b01c79665$f513d750$6401a8c0@nant> Message-ID: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Well... Yea, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 4:25 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 cfoust at infostatsystems.com Mon May 14 16:40:02 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 14:40:02 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> References: <004b01c79665$f513d750$6401a8c0@nant> <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Message-ID: Wrong list, guys! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 2:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Well... Yea, John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 4:25 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, IOW you wanted to have a message box/form "flying" on top of all the other windows but not blocking nor your VB.NET application nor other processes? -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 11:28 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox Shamil, Nope, I didn't try that. It doesn't sound like something I want to do either. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 14, 2007 3:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox John, Did you try to use MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as it's written in docs): Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or _ MsgBoxStyle.YesNo Or _ MsgBoxStyle.SystemModal title = "MsgBox Demonstration" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. ' Perform some action. Else ' Perform some other action. End If -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 5:10 PM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 bbruen at unwired.com.au Mon May 14 16:50:35 2007 From: bbruen at unwired.com.au (Bruce Bruen) Date: Tue, 15 May 2007 07:50:35 +1000 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: References: Message-ID: <200705150750.39444.bbruen@unwired.com.au> >From memory, dim rs as recordset dim cmd as new command cmd.text="qrfmWeeklyData" cmd.type=acStoredProc '????? cmd.connection = CurrentProject.Connection set rs=cmd.exec(,param1) ... hth On Monday 14 May 2007 21:10, ewaldt at gdls.com wrote: > I am running into a problem with a cross tab query. > > Here's the code portion that Access highlights: > > rst.Open _ > Source:="qfrmWeeklyData", _ > ActiveConnection:=CurrentProject.Connection, _ > Options:=adCmdTable > > I'd greatly appreciate any help with this. > > > Thomas F. Ewald > Stryker Mass Properties > General Dynamics Land Systems > > > > This is an e-mail from General Dynamics Land Systems. It is for the > intended recipient only and may contain confidential and privileged > information. No one else may read, print, store, copy, forward or act in > reliance on it or its attachments. If you are not the intended recipient, > please return this message to the sender and delete the message and any > attachments from your computer. Your cooperation is appreciated. -- regards Bruce From tuxedoman888 at gmail.com Mon May 14 17:10:46 2007 From: tuxedoman888 at gmail.com (Billy Pang) Date: Mon, 14 May 2007 15:10:46 -0700 Subject: [AccessD] right align values in a list box Message-ID: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Hello: Just wondering is it possible to right-align values in a list box. I have a column (integer data type) that is left-aligned in the listbox and it is hard to read: for example: Column1: 10 1,000 50 I would like it to show: Column1: 10 1,000 50 Is that possible? thanks in advance, Billy -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb From bheid at sc.rr.com Mon May 14 17:12:08 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Mon, 14 May 2007 18:12:08 -0400 Subject: [AccessD] OT - eFax Service In-Reply-To: References: Message-ID: <001e01c79674$e9fa3490$2c01a8c0@bhxp> My wife uses the free version where you can receive up to 10 (I think) faxes per month. It works well for her. Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Reuben Cummings Sent: Monday, May 14, 2007 12:05 PM To: AccessD Subject: [AccessD] OT - eFax Service Do any of you use one of the online "eFax" services? If so, any recommendations? We are switching to fiber and will have our phone, cable, and internet all over fiber. We are hoping to eliminate the second phone line when we do this. The second line will only be $20 from the new company so it's not a big expense, but why have it if I can fax online. Thanks. Reuben Cummings GFC, LLC 812.523.1017 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Mon May 14 18:15:07 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Mon, 14 May 2007 16:15:07 -0700 Subject: [AccessD] right align values in a list box In-Reply-To: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Message-ID: You'd have to do it by left padding the individual values as strings. If there are any decimals involved, it becomes problematic to line whole numbers and decimals up. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Billy Pang Sent: Monday, May 14, 2007 3:11 PM To: Access Developers discussion and problem solving Subject: [AccessD] right align values in a list box Hello: Just wondering is it possible to right-align values in a list box. I have a column (integer data type) that is left-aligned in the listbox and it is hard to read: for example: Column1: 10 1,000 50 I would like it to show: Column1: 10 1,000 50 Is that possible? thanks in advance, Billy -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From bheid at sc.rr.com Mon May 14 18:26:47 2007 From: bheid at sc.rr.com (Bobby Heid) Date: Mon, 14 May 2007 19:26:47 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514020650.B55D5BD19@smtp-auth.no-ip.com> References: <000201c795c8$aa3cd620$2c01a8c0@bhxp> <20070514020650.B55D5BD19@smtp-auth.no-ip.com> Message-ID: <000b01c7967f$57914660$2c01a8c0@bhxp> I think that that is the way that it is supposed to work. Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Sunday, May 13, 2007 10:07 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox >You are using messagebox.show, right? Yes. It does show up if I click on the program icon representing the windows form for the VB.Net program, but it will not pop up over (for example) Outlook if I have that open or Firefox if I have that open. It also does not cause the little icon in the toolbar to turn dark blue or flash as some other programs can cause their toolbar icon to do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bobby Heid Sent: Sunday, May 13, 2007 9:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox That's odd. My experiences have always had the message box show up on top of everything. You are using messagebox.show, right? Bobby -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Saturday, May 12, 2007 9:10 AM To: 'Access Developers discussion and problem solving'; dba-vb at databaseadvisors.com Subject: [AccessD] VB.Net - seeing the messagebox When I run my program, the form immediately pops up, I click a button and the program starts processing files. I added a messagebox.show to inform me when each file finishes (I was timing with a stopwatch) but that message box does not pop up over the top of everything else. The program has stopped and the message is up, but behind everything else and I do not see it unless I click the form icon in the tool bar. It doesn't even cause the tool bar icon for the form to change color or flash. Is there a way to make it do so (somehow notify me)? John W. Colby Colby Consulting www.ColbyConsulting.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 wdhindman at dejpolsystems.com Mon May 14 19:31:53 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 14 May 2007 20:31:53 -0400 Subject: [AccessD] right align values in a list box References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> Message-ID: <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> http://www.lebans.com/justicombo.htm William Hindman ----- Original Message ----- From: "Billy Pang" To: "Access Developers discussion and problem solving" Sent: Monday, May 14, 2007 6:10 PM Subject: [AccessD] right align values in a list box > Hello: > > Just wondering is it possible to right-align values in a list box. I have > a > column (integer data type) that is left-aligned in the listbox and it is > hard to read: > > for example: > > Column1: > 10 > 1,000 > 50 > > I would like it to show: > > Column1: > 10 > 1,000 > 50 > > Is that possible? > > thanks in advance, > > Billy > > -- > Billy Pang > http://dbnotes.blogspot.com/ > "Once the game is over, the King and the pawn go back in the same box." - > Italian proverb > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From wdhindman at dejpolsystems.com Mon May 14 19:38:56 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Mon, 14 May 2007 20:38:56 -0400 Subject: [AccessD] From your friendly moderator References: <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: <001101c79689$6c75e4a0$7d7d6c4c@jisshowsbs.local> ...kudos Andy ...I'm concerned that non-access topics are crowding the list to the point that visitors won't recognize it as a primary Access resource ...the occasional thread is ok with me ...but its gone well past occasional the past week. William Hindman ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 14, 2007 4:04 PM Subject: [AccessD] From your friendly moderator > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Mon May 14 20:05:28 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 14 May 2007 18:05:28 -0700 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: Message-ID: <0JI200B1R5H37630@l-daemon> I agree it is a little over the top but things sort of evolved. (Do actually have a few dedicated servers and stations on the LAN) Being a MS Action Pac partner leaves me with a lot of servers and stations. On a balance what would you choose as an OS, when Server 2003 standard is in one hand and XP is in the other.... hmmm ... not much choice there; and besides it is nice to be able to compete feature on feature with fellow Linux users. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 14, 2007 10:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox Wow, that is one way to do things. I like segregation of software as often does occur installing a newer version of something even MS can cause a machine to belly-up, including 2003. though it is incredibly stable. My XP boxes have been extreamly reliable, but I generally have them segregated, I have one that is all dev work (vb.net) a second physical box for 2003 w/ Sql 2000 and 2005. I have a 3rd vm that is my main workstation and I tug that on my usb drive between work and home. -- Francisco On 5/14/07, Jim Lawrence wrote: > > Hi Gustav: > > Why is having a server as a desktop not a good idea? These are the reasons > I > would recommend it: > > 1. It runs more stably. Rarely crashes and I do put it through its paces. > XP > on the other hand can freeze up easily when pushed too hard. > 2. Has great built-in security. It can not even be seen on the LAN if that > is your requirement. > 3. Full admin terminal services built not just a single user. You can > easily > remote in from a clients site. > 4. Easy communications with remote/local and different OS like > Mac/Linux... > try that with an XP box without a lot of fuss. > 5. Runs multiple resource heavy apps without grinding to a halt or just > crashing: like a couple of web servers, a couple of SQL servers 2000/2005, > virtual server and throw in a resource hungry graphic program. Try running > Oracle Enterprise 10g on an XP box.... yeh-right. > 6. Runs multi-versions of development apps, like Access, VB, Visual > Studio... > 7. For all these heavy duty programs the system can actually take full > advantage of the entire RAM that can be crammed in the box. XP will look > at > the memory but will not necessarily do anything with it. > > I do not recommend this much load but for you multi-tasking power > users...my > recommendation is if you have the opportunity is to run a nice Windows > 2003 > standard server. It has a lot more complexity than the standard desktop > and > will not always play nice with other servers on the LAN but has all the > tools to taming it. ...After all many Linux distros have the capabilities > of being full-blown, multi-user, multi-tasking servers with a pretty > interface. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 14, 2007 1:01 AM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Hi John > > A server OS for desktop use? Not a good idea. > Perhaps your programs miss priority? Look up My Computer, Properties, > Advanced, Performance, Settings, Advanced. > > /gustav > > >>> jwcolby at colbyconsulting.com 14-05-2007 04:07 >>> > >No he's using VISTA....Heheheheheh. > > Nope, Windows 2003 Standard Edition. Essentially XP on steroids I think. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From tuxedoman888 at gmail.com Mon May 14 20:37:08 2007 From: tuxedoman888 at gmail.com (Billy Pang) Date: Mon, 14 May 2007 18:37:08 -0700 Subject: [AccessD] right align values in a list box In-Reply-To: <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> References: <7c8826480705141510j2864ac87g404fb887a1e4590b@mail.gmail.com> <000301c79688$7056e4d0$7d7d6c4c@jisshowsbs.local> Message-ID: <7c8826480705141837x6ed2f3ehf93d931b03f053a9@mail.gmail.com> got it. thanks Charlotte and William. On 5/14/07, William Hindman wrote: > > http://www.lebans.com/justicombo.htm > > William Hindman > > ----- Original Message ----- > From: "Billy Pang" > To: "Access Developers discussion and problem solving" > > Sent: Monday, May 14, 2007 6:10 PM > Subject: [AccessD] right align values in a list box > > > > Hello: > > > > Just wondering is it possible to right-align values in a list box. I > have > > a > > column (integer data type) that is left-aligned in the listbox and it is > > hard to read: > > > > for example: > > > > Column1: > > 10 > > 1,000 > > 50 > > > > I would like it to show: > > > > Column1: > > 10 > > 1,000 > > 50 > > > > Is that possible? > > > > thanks in advance, > > > > Billy > > > > -- > > Billy Pang > > http://dbnotes.blogspot.com/ > > "Once the game is over, the King and the pawn go back in the same box." > - > > Italian proverb > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Billy Pang http://dbnotes.blogspot.com/ "Once the game is over, the King and the pawn go back in the same box." - Italian proverb From max.wanadoo at gmail.com Tue May 15 01:54:04 2007 From: max.wanadoo at gmail.com (Gmail) Date: Tue, 15 May 2007 07:54:04 +0100 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: References: <29f585dd0705140911u3aa30adfiebc7e7792e05f173@mail.gmail.com><20070514163059.EF739BCDA@smtp-auth.no-ip.com> Message-ID: <002101c796bd$d47c4dd0$5101a8c0@LT> Why not change the background colour to bright red - that should get your attention when the whole form turns red. Regards Max -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Monday, May 14, 2007 5:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If that's the case, I think you may have a problem. Why not just log the stuff to a text or xml file instead? Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 14, 2007 9:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VB.Net - seeing the messagebox I needed something to grab my attention. "Hey" (waving a huge messagebox in my face) "your file is finished". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 14, 2007 12:12 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox This is probably a silly question, but why bother with a popup window? Why not just display the progress on the main form and/or status bar? On 5/13/07, jwcolby wrote: > > >You are using messagebox.show, right? > > Yes. It does show up if I click on the program icon representing the > windows form for the VB.Net program, but it will not pop up over (for > example) Outlook if I have that open or Firefox if I have that open. > It also does not cause the little icon in the toolbar to turn dark > blue or flash as some other programs can cause their toolbar icon to > do. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 Chris.Foote at uk.thalesgroup.com Tue May 15 02:08:38 2007 From: Chris.Foote at uk.thalesgroup.com (Foote, Chris) Date: Tue, 15 May 2007 08:08:38 +0100 Subject: [AccessD] VB.Net - seeing the messagebox Message-ID: <7303A459C921B5499AF732CCEEAD2B7F064D0FDC@craws161660.int.rdel.co.uk> Hi John! Had you considered using netsend to create a pop-up message? I've got some VBA code somewhere that I've used in the past. Assuming MS Server2009 (or whatever) still supports netsend - using NT4.0 here ;-) Regards Chris Foote > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of jwcolby > Sent: Monday, May 14, 2007 10:17 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > > Well... Yea, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 4:25 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > IOW you wanted to have a message box/form "flying" on top of > all the other > windows but not blocking nor your VB.NET application nor > other processes? > > -- > Shamil > From stuart at lexacorp.com.pg Tue May 15 02:17:18 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 17:17:18 +1000 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> References: <004b01c79665$f513d750$6401a8c0@nant>, <20070514211654.ACBB8BD9F@smtp-auth.no-ip.com> Message-ID: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg> If the MB isn't working, how about displaying a custom form and setting it's z-order to "TOPMOST" with the SetWindowPos API call. On 14 May 2007 at 17:16, jwcolby wrote: > Well... Yea, > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 4:25 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > IOW you wanted to have a message box/form "flying" on top of all the other > windows but not blocking nor your VB.NET application nor other processes? > > -- > Shamil > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Monday, May 14, 2007 11:28 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > Shamil, > > Nope, I didn't try that. It doesn't sound like something I want to do > either. > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil > Salakhetdinov > Sent: Monday, May 14, 2007 3:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VB.Net - seeing the messagebox > > John, > > Did you try to use > > MsgBoxStyle.SystemModal ? (Be careful it stops all the running processes as > it's written in docs): > > > Dim msg As String > Dim title As String > Dim style As MsgBoxStyle > Dim response As MsgBoxResult > msg = "Do you want to continue?" ' Define message. > style = MsgBoxStyle.DefaultButton2 Or _ > MsgBoxStyle.Critical Or _ > MsgBoxStyle.YesNo Or _ > MsgBoxStyle.SystemModal > title = "MsgBox Demonstration" ' Define title. > ' Display message. > response = MsgBox(msg, style, title) > If response = MsgBoxResult.Yes Then ' User chose Yes. > ' Perform some action. > Else > ' Perform some other action. > End If > > > -- > Shamil > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Saturday, May 12, 2007 5:10 PM > To: 'Access Developers discussion and problem solving'; > dba-vb at databaseadvisors.com > Subject: [AccessD] VB.Net - seeing the messagebox > > When I run my program, the form immediately pops up, I click a button and > the program starts processing files. I added a messagebox.show to inform me > when each file finishes (I was timing with a stopwatch) but that message box > does not pop up over the top of everything else. The program has stopped > and the message is up, but behind everything else and I do not see it unless > I click the form icon in the tool bar. It doesn't even cause the tool bar > icon for the form to change color or flash. > > Is there a way to make it do so (somehow notify me)? > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 -- Stuart From Gustav at cactus.dk Tue May 15 03:49:24 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 10:49:24 +0200 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: Hi Larry That is not possible just like that. The easiest method is to create a local or shared printer which prints to a port which is (re)directed to the IP address. That will normally require a printer server in front of the printer as these printers typically do not have a built-in printer server. This is probably the setup you have - or you would not wish to print to an IP address ... Another method is to map or redirect one of the old - from DOS - printer ports, LTP1 to LPT3, to the IP address. As these ports are handled like files, you can modify your code this way: Open "LPT2" For Output As #1 /gustav >>> lmrazek at lcm-res.com 14-05-2007 22:47 >>> Hi: Thanks to Gustav, I have some code that works on my local machine ... however, I'll need to print to an IP address, and I haven't been able to find the syntax. This Works: Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close #1 This doesn't (no errors, basically nothing) Dim PrtStr As String PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" Open "10.0.2.22" For Output As #1 Print #1, PrtStr Close #1 Anyone have any ideas? Thanks in advance. Larry Mrazek lmrazek at lcm-res.com From Gustav at cactus.dk Tue May 15 04:26:16 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 11:26:16 +0200 Subject: [AccessD] Which Windows version (was: VB.Net - seeing the messagebox) Message-ID: Hi Jim (and John and Robert) Because the workstation version is optimized for workstation apps like Access and VS and the use of these, and the server version is optimized for server apps like SQL Server, IIS, or Exchange. The kernel is the same and a server version can be tweaked for workstation use and vice versa, but why waste time on this when MS has done this for us? We all have our preferences, but claiming that WinXP is "less stable" or that Win 2003 "is better" than the other Windows 5.x versions is doubtful. Based on experience from our clients which run Win2000/XP on 99% of all workstations, these run rock steady. I just checked, and we've only once seen a blue screen of death on these machines and that was caused by a malfunctioning ram module. /gustav >>> accessd at shaw.ca 14-05-2007 18:47 >>> Why is having a server as a desktop not a good idea? From jwcolby at colbyconsulting.com Tue May 15 06:13:41 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 07:13:41 -0400 Subject: [AccessD] Which Windows version (was: VB.Net - seeingthe messagebox) In-Reply-To: Message-ID: <20070515111343.9F336BCA0@smtp-auth.no-ip.com> I absolutely agree that WindowsXP is rock stable and I recommend it highly. With the handful of driver issues I have seen for 2003, I do recommend XP (Pro) for workstation use. One thing that is materially superior on the 2003 side however is the ability to remote desktop in to a machine without booting a logged in user. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 5:26 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Which Windows version (was: VB.Net - seeingthe messagebox) Hi Jim (and John and Robert) Because the workstation version is optimized for workstation apps like Access and VS and the use of these, and the server version is optimized for server apps like SQL Server, IIS, or Exchange. The kernel is the same and a server version can be tweaked for workstation use and vice versa, but why waste time on this when MS has done this for us? We all have our preferences, but claiming that WinXP is "less stable" or that Win 2003 "is better" than the other Windows 5.x versions is doubtful. Based on experience from our clients which run Win2000/XP on 99% of all workstations, these run rock steady. I just checked, and we've only once seen a blue screen of death on these machines and that was caused by a malfunctioning ram module. /gustav >>> accessd at shaw.ca 14-05-2007 18:47 >>> Why is having a server as a desktop not a good idea? -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 06:15:38 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 07:15:38 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg> Message-ID: <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> I have to wonder if .NET doesn't have this built-in somehow. They are all about avoiding programming to API calls. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Tuesday, May 15, 2007 3:17 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox If the MB isn't working, how about displaying a custom form and setting it's z-order to "TOPMOST" with the SetWindowPos API call. From lembit.dbamail at t-online.de Tue May 15 06:33:28 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Tue, 15 May 2007 13:33:28 +0200 Subject: [AccessD] From your friendly moderator References: <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: <011701c796e4$dbd815b0$1800a8c0@s1800> Thanks a lot, Andy, one point to remember: since we archive the mails for later search for solutions, it will be difficult to dig out all the nuggets when they are scattered across all lists. So, please everyone take your friendly moderators recommendation seriously :) thank you Lembit ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 14, 2007 10:04 PM Subject: [AccessD] From your friendly moderator > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 14.05.2007 > 16:46 > > From lmrazek at lcm-res.com Tue May 15 07:27:12 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Tue, 15 May 2007 07:27:12 -0500 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com> <4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> Message-ID: <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- 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 May 15 07:54:58 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Tue, 15 May 2007 22:54:58 +1000 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> References: <46495E7E.30819.1BE4D131@stuart.lexacorp.com.pg>, <20070515111543.6D5DABDDA@smtp-auth.no-ip.com> Message-ID: <4649ADA2.0.1D19F47A@stuart.lexacorp.com.pg> It's in .Net 3, but it seems to be a new addition: http://msdn2.microsoft.com/en-us/library/system.windows.window.topmost.aspx On 15 May 2007 at 7:15, jwcolby wrote: > I have to wonder if .NET doesn't have this built-in somehow. They are all > about avoiding programming to API calls. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan > Sent: Tuesday, May 15, 2007 3:17 AM To: Access Developers discussion and > problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox > > If the MB isn't working, how about displaying a custom form and setting > it's z-order to "TOPMOST" with the SetWindowPos API call. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From Lambert.Heenan at AIG.com Tue May 15 08:19:51 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Tue, 15 May 2007 09:19:51 -0400 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ewaldt at gdls.com Tue May 15 09:05:02 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Tue, 15 May 2007 10:05:02 -0400 Subject: [AccessD] Cross Tab Query Help Requested In-Reply-To: Message-ID: My thanks to Bruce Bruen; you pointed me in the right direction, and then I found the info in Rick Dobson's "Programming Microsoft Access Version 2002". I'm including below my VBA code in the hope that it can help someone else. For those of you more knowledgeable than I (plenty of you on this list), feel free to pick it apart. Remember that it does work, though! For any who haven't been following: I needed a report to be based on a parameter query, which was in turn based on a crosstab query that also used the same parameter. I wanted to use ADO, and couldn't figure out how to declare a parameter. Even though it was in the SQL, ADO wanted its own declaration. I hope the syntax below will help someone else. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems Private Sub Report_Open(Cancel As Integer) Dim intColCount As Integer Dim intControlCount As Integer Dim i As Integer Dim strName As String Dim intP As Integer Dim cmd As ADODB.Command Dim rst As ADODB.Recordset Dim prm As ADODB.Parameter Set cmd = New ADODB.Command With cmd .ActiveConnection = CurrentProject.Connection .CommandText = "PARAMETERS [Forms]![frmWeeklyData]![fraMonths] Long; " & _ [Very long SQL statement here] .CommandType = adCmdText End With Set prm = cmd.CreateParameter("[Forms]![frmWeeklyData]![fraMonths]", adInteger, adParamInput) cmd.Parameters.Append prm intP = [Forms]![frmWeeklyData]![fraMonths] prm.Value = intP Set rst = cmd.Execute intColCount = rst.Fields.Count intControlCount = Me.Detail.Controls.Count If intControlCount < intColCount Then intColCount = intControlCount End If For i = 1 To intColCount strName = rst.Fields(i - 1).Name Me.Controls("Head" & i).Caption = strName Me.Controls("Col" & i).ControlSource = strName Next i rst.Close End Sub This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From JHewson at karta.com Tue May 15 09:18:26 2007 From: JHewson at karta.com (Jim Hewson) Date: Tue, 15 May 2007 09:18:26 -0500 Subject: [AccessD] DAO vs ADO Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com From garykjos at gmail.com Tue May 15 10:09:08 2007 From: garykjos at gmail.com (Gary Kjos) Date: Tue, 15 May 2007 10:09:08 -0500 Subject: [AccessD] From your friendly moderator In-Reply-To: <000401c79663$05a9eee0$d787d355@minster33c3r25> References: <20070514192801.2A148BC66@smtp-auth.no-ip.com> <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: Well said Andy. GK On 5/14/07, Andy Lacey wrote: > We seem to have let our standards slip recently regarding posting topics to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those topics. > If you have a question which belongs on one of the other lists I urge you to > please post it on the appropriate list first. If you don't get the response > you're after and believe that reposting to AccessD will help then of course > you're going to, but you should then append "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid the > scatter-gun approach of just posting the same question straight away to all > of the lists. This generates wasted bandwidth, is a particular irritant for > those on multiple lists and uses up storage in our archive. Many thanks for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > 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 cfoust at infostatsystems.com Tue May 15 10:10:42 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 08:10:42 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Tue May 15 10:26:16 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 15 May 2007 11:26:16 -0400 Subject: [AccessD] DAO vs ADO References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <000b01c79705$621b1080$7d7d6c4c@jisshowsbs.local> 1) they can be mixed but both references have to be set ...when identical functions are included in both object models Access will use the library first referenced unless you specify otherwise ...I specify by default just to be certain. As for differences, look at the object models ...DAO was designed around Jet and ADO around SQL db be's ...when using mdb/Jet be's DAO is usually much faster and has a better object model ...the reverse is true for ADO ...MS led everyone to believe for years that DAO was dead and ADO was the future but then reversed itself with Access 12. 2) ...see above 3) ...no, you can use DAO but it isn't as efficient ...what you can't do with DAO is use an ADP to connect to a SQL be ...but you can certainly connect ...I'd venture to guess there are still more Access fe's using DAO to connect to SQL be's just because for years that was the only way to do it. ...hth William Hindman ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Tuesday, May 15, 2007 10:18 AM Subject: [AccessD] DAO vs ADO > I'm confused when looking at these two libraries. My questions are > many, so I listed only a few below. > 1. What is the difference? Yeah I know, this is a loaded question, but > how do I know when looking at code it's either one? > Can they be mixed? > > 2. Which is recommended for MDBs - or is there no difference in > performance? > > 3. I read somewhere, that ADO is required for ODBC to SQL Server with > an Access FE - is that correct? > > That's enough for now, Thanks! > > Jim > > Jim H. Hewson > Applications Support Manager > Karta Technologies, Inc. > 5555 Northwest Parkway > San Antonio, Texas 78249 > 210-582-3233 > jhewson at karta.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Tue May 15 10:26:35 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 11:26:35 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <20070515152633.EEBE0BD00@smtp-auth.no-ip.com> 1) What is the difference? DAO is a library specific to MDBs. This library has objects for databases, tables, queries, forms and reports (documents) modules etc. IOW this library "knows about" the structure of the MDB and allows the programmer to program to the pieces of an MDB container. Many programmers think of DAO as a recordset / field library, but that is only a tiny piece of the DAO library. ADO is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields 1a) how do I know when looking at code it's either one? This is a good question and one that is the source of much confusion, EVEN FOR VBA, which is why you should in your code dimension an object as DAO.Recordset (for example) or ADODB.Recordset. Both libraries have a recordset object and if you do not prefix the dimensioned object with the correct library, then VB attempts to use the reference physically closest to the top of the reference list. BTW DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably Also, in general, if a reference is to any part of the mdb structure, then it is DAO since ADO does not understand the MDB structure. 1b) Can they be mixed? Yes they can, or at least you can use BOTH libraries, even in consecutive lines of code. Again, the DIMENSION statement determines which library the object uses to process the activity. 2) Which is recommended for MDBs. THIS is a loaded question. ADO is abstracted. Allowing you to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. OTOH, DAO can only be used for an MDB or a LINKED table. 3) I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? No. If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used to dimension the recordset object. I BELIEVE that the link uses ODBC internally, but does not use ADO itself. OTOH, ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot. So the answer depends on whether the table that you want to manipulate is linked or not. HTH. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 10:30:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 11:30:36 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> Charlotte, >You can use both DAO and ADO in the same project but you can't mix them in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 DWUTKA at Marlow.com Tue May 15 11:22:56 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 11:22:56 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Tue May 15 11:33:57 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 18:33:57 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew Couldn't you, with ADO, have referred to that combo the same way Tom did (thread: Cross Tab Query Help Requested)? /gustav >>> DWUTKA at marlow.com 15-05-2007 18:22 >>> That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com From fhtapia at gmail.com Tue May 15 11:48:21 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 15 May 2007 09:48:21 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <000401c79663$05a9eee0$d787d355@minster33c3r25> References: <20070514192801.2A148BC66@smtp-auth.no-ip.com> <000401c79663$05a9eee0$d787d355@minster33c3r25> Message-ID: Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From DWUTKA at Marlow.com Tue May 15 11:49:49 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 11:49:49 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: I don't know, a little busy to go thread hunting. What was the solution? Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 11:34 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Couldn't you, with ADO, have referred to that combo the same way Tom did (thread: Cross Tab Query Help Requested)? /gustav >>> DWUTKA at marlow.com 15-05-2007 18:22 >>> That is a pretty loaded question, and you've already gotten several answers. I'd like to point out on particular quirk in a little more detail. I use ADO for practically everything. ADO is more flexible then DAO, since DAO is designed specifically for JET, where ADO is more generic. However, when working with Access, ADO has some limitations. One such limitation, which has been mentioned is that DAO understands Access objects (I believe Charlotte pointed this out.), but that affects more then just trying to manipulate those objects, in fact, it's something that I ran into last night. I had a query I wanted to access through code. The query had a criteria based on a combo box on a form. ADO would not run the query, because it doesn't know what Forms!frmSomething!cmbSomething is. DAO would run it, but ADO failed. I still stuck with ADO, and built the SQL as a string using the value in the combo box, but if I had used DAO, I could have used a prebuilt query. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 9:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From cfoust at infostatsystems.com Tue May 15 11:50:08 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 09:50:08 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> References: <20070515153035.1A4F1BDD0@smtp-auth.no-ip.com> Message-ID: You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 Tue May 15 12:06:09 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 19:06:09 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. From DWUTKA at Marlow.com Tue May 15 12:11:11 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 15 May 2007 12:11:11 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: Ah, a parameter query, but would that work for a query already built? Looks like it is a 'new' query.... Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 12:06 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Tue May 15 12:20:45 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Tue, 15 May 2007 19:20:45 +0200 Subject: [AccessD] DAO vs ADO Message-ID: Hi Drew I didn't notice. That makes a difference. /gustav >>> DWUTKA at marlow.com 15-05-2007 19:11 >>> Ah, a parameter query, but would that work for a query already built? Looks like it is a 'new' query.... Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Tuesday, May 15, 2007 12:06 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DAO vs ADO Hi Drew Not much hunting is needed; it was posted a couple of hours ago ... /gustav >>> DWUTKA at marlow.com 15-05-2007 18:49 >>> I don't know, a little busy to go thread hunting. From jwcolby at colbyconsulting.com Tue May 15 12:21:48 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 13:21:48 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> >But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 cfoust at infostatsystems.com Tue May 15 13:09:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Tue, 15 May 2007 11:09:19 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> References: <20070515172147.5FF87BE20@smtp-auth.no-ip.com> Message-ID: Yes, I know, but people sometimes get confused when the object have the same names. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO >But I was specifically referring to trying to do things like creating >an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 11:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO The most essential difference is that DAO is optimized for the Jet engine and knows all about Access objects like controls, forms, reports, etc. ADO is a more generic data handling model, and it handles that role much better than DAO in many cases. You can use both DAO and ADO in the same project but you can't mix them in the same routine. If you use both, you need to specifically declare objects as DAO or ADODB (or ADOX, if necessary) because the two model have objects of the same name but different methods and properties. I think your last question is a misunderstanding. When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary. You can't pass objects back and forth between ADO and DAO. DAO can't handle an ADO recordset and vice versa. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Tuesday, May 15, 2007 7:18 AM To: Access Developers discussion and problem solving Subject: [AccessD] DAO vs ADO I'm confused when looking at these two libraries. My questions are many, so I listed only a few below. 1. What is the difference? Yeah I know, this is a loaded question, but how do I know when looking at code it's either one? Can they be mixed? 2. Which is recommended for MDBs - or is there no difference in performance? 3. I read somewhere, that ADO is required for ODBC to SQL Server with an Access FE - is that correct? That's enough for now, Thanks! Jim Jim H. Hewson Applications Support Manager Karta Technologies, Inc. 5555 Northwest Parkway San Antonio, Texas 78249 210-582-3233 jhewson at karta.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 colbyconsulting.com Tue May 15 13:21:00 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 14:21:00 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: Message-ID: <20070515182059.3F804BCBA@smtp-auth.no-ip.com> People sometimes get confused finding their car in the parking lot. ;-) I made it clear in my posts that you MUST dim ADO/DAO things using the lib prefix. That is all I can do. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 2:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Yes, I know, but people sometimes get confused when the object have the same names. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 10:22 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO >But I was specifically referring to trying to do things like creating >an ADO recordset and using DAO parameters. That you can't do, DAO and ADO are simply different beasts with different methods and properties (and parameters). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Tuesday, May 15, 2007 12:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO You've had better luck than I then. But I was specifically referring to trying to do things like creating an ADO recordset and using DAO parameters. Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Charlotte, >You can use both DAO and ADO in the same project but you can't mix them >in the same routine. You absolutely CAN "mix them in the same routine". The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time". Function MixItUp() dim rstADO as ADODB.Recordset dim rstDAO as DAO.recordset .Initialize the ADO recordset here . .Initialize the DAO recordset here 'Use both recordsets here for manipulating their specific data... End function From accessd at shaw.ca Tue May 15 15:39:26 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 15 May 2007 13:39:26 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: Message-ID: <0JI30011TNTLSO00@l-daemon> I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting topics > to > the appropriate lists, and regarding cross-posting. Can I just remind > everyone that we have a specific SQL-Server list, one for VB, one for > Visio, > a dba-Tech list for other IT matters, and an OT list for non-IT matters > (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more > use > of these other lists and try to limit AccessD to Access stuff. I know that > AccessD is the main list, but SQLServer and VB particularly have many > members and are specifically geared to answering questions on those > topics. > If you have a question which belongs on one of the other lists I urge you > to > please post it on the appropriate list first. If you don't get the > response > you're after and believe that reposting to AccessD will help then of > course > you're going to, but you should then append "(originally posted to > dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please avoid > the > scatter-gun approach of just posting the same question straight away to > all > of the lists. This generates wasted bandwidth, is a particular irritant > for > those on multiple lists and uses up storage in our archive. Many thanks > for > your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 15 16:19:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 17:19:59 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> Message-ID: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Additionally, one big problem is the numbers of list members on the various lists. I do not know for sure, but I suspect that the AccessD list has several hundred members, whereas the Tech list might have 50. If that is the case, then to ask a question of the tech list is probably not very useful. Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how many of them might use COMODO firewall (for example), as opposed to how many of the 50 (number totally made up) Tech list members? We have always fielded OT questions on AccessD, and of late, yes, it has been a little out of hand (mostly me I suspect). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 15, 2007 4:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting > topics to the appropriate lists, and regarding cross-posting. Can I > just remind everyone that we have a specific SQL-Server list, one for > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > more use of these other lists and try to limit AccessD to Access > stuff. I know that AccessD is the main list, but SQLServer and VB > particularly have many members and are specifically geared to > answering questions on those topics. > If you have a question which belongs on one of the other lists I urge > you to please post it on the appropriate list first. If you don't get > the response you're after and believe that reposting to AccessD will > help then of course you're going to, but you should then append > "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please > avoid the scatter-gun approach of just posting the same question > straight away to all of the lists. This generates wasted bandwidth, is > a particular irritant for those on multiple lists and uses up storage > in our archive. Many thanks for your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 lmrazek at lcm-res.com Tue May 15 17:07:12 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Tue, 15 May 2007 17:07:12 -0500 Subject: [AccessD] Sending text direct to printer, take 2 In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20711CCE2@xlivmbx35.aig.com> Message-ID: <021501c7973d$65af1240$046fa8c0@lcmdv8000> Hi Lambert: It is actually the other way around, or I didn't write out the example correctly: This works (with UNC name): Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close This doesn't (directly to IP address: Open "10.0.2.22" For Output As #1, Print #1, PrtStr Close (no lights, sounds ... Nothing) Curiously, if I map an LPT port to the printer, it works. Do I need to specify the port for the TCP/IP comm? I've been trying to find a reference for these commands, but haven't had any luck. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Tuesday, May 15, 2007 8:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Tue May 15 18:04:30 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 15 May 2007 18:04:30 -0500 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: <002e01c79745$6588a4e0$0200a8c0@danwaters> Hmmmm. A possible solution to this could be that each member is automatically made a member of each list, but could remove themselves from any list if they want to do so. For example, I originally wasn't on the Tech list, but I'm glad I am now. Dan Waters -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 15, 2007 4:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator Additionally, one big problem is the numbers of list members on the various lists. I do not know for sure, but I suspect that the AccessD list has several hundred members, whereas the Tech list might have 50. If that is the case, then to ask a question of the tech list is probably not very useful. Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how many of them might use COMODO firewall (for example), as opposed to how many of the 50 (number totally made up) Tech list members? We have always fielded OT questions on AccessD, and of late, yes, it has been a little out of hand (mostly me I suspect). John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 15, 2007 4:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] From your friendly moderator I agree that the borders between the various lists have been criss-crossed as many have been using the shot-gun approach to ask and answer questions. On the other hand much of the newer technology is morphing and the strict borders are no longer realistic. Example the Access list looks more like the 'Access.Net using SQL 2005' list. No longer does Access just use the MDB database and eventually SQL DB with .Net/Framework/Mono calls will become fully incorporated. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 15, 2007 9:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Well said! On 5/14/07, Andy Lacey wrote: > > We seem to have let our standards slip recently regarding posting > topics to the appropriate lists, and regarding cross-posting. Can I > just remind everyone that we have a specific SQL-Server list, one for > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > list for non-IT matters (see > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > more use of these other lists and try to limit AccessD to Access > stuff. I know that AccessD is the main list, but SQLServer and VB > particularly have many members and are specifically geared to > answering questions on those topics. > If you have a question which belongs on one of the other lists I urge > you to please post it on the appropriate list first. If you don't get > the response you're after and believe that reposting to AccessD will > help then of course you're going to, but you should then append > "(originally posted to dba-xx)" > to your subject. This will help people who have already seen the original. > It may even encourage wider membership of the other lists. Please > avoid the scatter-gun approach of just posting the same question > straight away to all of the lists. This generates wasted bandwidth, is > a particular irritant for those on multiple lists and uses up storage > in our archive. Many thanks for your co-operation. > > -- Andy Lacey > http://www.minstersystems.co.uk > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Tue May 15 18:12:44 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 15 May 2007 19:12:44 -0400 Subject: [AccessD] From your friendly moderator References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I never heard such a thing. :) William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 15, 2007 5:19 PM Subject: Re: [AccessD] From your friendly moderator > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 15, 2007 4:39 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > I agree that the borders between the various lists have been criss-crossed > as many have been using the shot-gun approach to ask and answer questions. > > On the other hand much of the newer technology is morphing and the strict > borders are no longer realistic. Example the Access list looks more like > the > 'Access.Net using SQL 2005' list. No longer does Access just use the MDB > database and eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: >> >> We seem to have let our standards slip recently regarding posting >> topics to the appropriate lists, and regarding cross-posting. Can I >> just remind everyone that we have a specific SQL-Server list, one for >> VB, one for Visio, a dba-Tech list for other IT matters, and an OT >> list for non-IT matters (see >> http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make >> more use of these other lists and try to limit AccessD to Access >> stuff. I know that AccessD is the main list, but SQLServer and VB >> particularly have many members and are specifically geared to >> answering questions on those topics. >> If you have a question which belongs on one of the other lists I urge >> you to please post it on the appropriate list first. If you don't get >> the response you're after and believe that reposting to AccessD will >> help then of course you're going to, but you should then append >> "(originally posted to dba-xx)" >> to your subject. This will help people who have already seen the >> original. >> It may even encourage wider membership of the other lists. Please >> avoid the scatter-gun approach of just posting the same question >> straight away to all of the lists. This generates wasted bandwidth, is >> a particular irritant for those on multiple lists and uses up storage >> in our archive. Many thanks for your co-operation. >> >> -- Andy Lacey >> http://www.minstersystems.co.uk >> >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Tue May 15 18:25:22 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 19:25:22 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > Additionally, one big problem is the numbers of list members on the various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. IME it really doesn't matter the size of the list, but the quality of those on it. Yes, thats right, its NOT size that matters :) And just remeber, IT'S NOT FRIDAY yet :) > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, how > many of them might use COMODO firewall (for example), as opposed to how many > of the 50 (number totally made up) Tech list members? I have seen very few Tech questions go unanswered. The quality of the answers over there rival the answers here. > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). You're right. OT questions have always been fielded here, but recently there have been more OT questions than On Topic questions, which dilutes the resource that we have all built. Plus makes it harder for others to find the answers they are looking for. Who'd think to search the AccessD archives for an answer to an Outlook or SQL Server question, when we have a SQL server list and a Tech list for these kinds of questions. As Andy said, if the question isn't answered over there, then by all means bring it over here. Maybe as more questions get asked over there, more folks will subscribe. but we've got to give them a chance first. -- 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 carbonnb at gmail.com Tue May 15 18:27:34 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 19:27:34 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: On 5/15/07, William Hindman wrote: > ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I > never heard such a thing. :) Shocking isn't it!!! :) At least it wasn't The Great PK debate :) Runnin' and duckin' -- 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 fhtapia at gmail.com Tue May 15 18:31:48 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 15 May 2007 16:31:48 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> References: <0JI30011TNTLSO00@l-daemon> <20070515211957.EF549BDC5@smtp-auth.no-ip.com> Message-ID: while you make a point John, I think the appropriate thing is to post to dba-tech list then if no response is gained, then posting to the accessD list makes sense and is just proper netiquette. -- Francisco On 5/15/07, jwcolby wrote: > > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Tuesday, May 15, 2007 4:39 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > I agree that the borders between the various lists have been criss-crossed > as many have been using the shot-gun approach to ask and answer questions. > > On the other hand much of the newer technology is morphing and the strict > borders are no longer realistic. Example the Access list looks more like > the > 'Access.Net using SQL 2005' list. No longer does Access just use the MDB > database and eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: > > > > We seem to have let our standards slip recently regarding posting > > topics to the appropriate lists, and regarding cross-posting. Can I > > just remind everyone that we have a specific SQL-Server list, one for > > VB, one for Visio, a dba-Tech list for other IT matters, and an OT > > list for non-IT matters (see > > http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make > > more use of these other lists and try to limit AccessD to Access > > stuff. I know that AccessD is the main list, but SQLServer and VB > > particularly have many members and are specifically geared to > > answering questions on those topics. > > If you have a question which belongs on one of the other lists I urge > > you to please post it on the appropriate list first. If you don't get > > the response you're after and believe that reposting to AccessD will > > help then of course you're going to, but you should then append > > "(originally posted to dba-xx)" > > to your subject. This will help people who have already seen the > original. > > It may even encourage wider membership of the other lists. Please > > avoid the scatter-gun approach of just posting the same question > > straight away to all of the lists. This generates wasted bandwidth, is > > a particular irritant for those on multiple lists and uses up storage > > in our archive. Many thanks for your co-operation. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From martyconnelly at shaw.ca Tue May 15 19:48:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 15 May 2007 17:48:28 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> References: <0JI30011TNTLSO00@l-daemon> Message-ID: <464A54DC.3020504@shaw.ca> Some of that is already here with Managed Add-ins for Access 2007 and MS Visual Studio 2005 I use VB.Net but any other language could be used like Cobol.Net. You can also do this directly with a VB.Net dll & tlb with a COM Class template too. One of these days, I'll try to get a SQL query using XLINQ to return XML rather than a recordset to Access but that requires Net Framework 3.0 or 3.5 and SQL 2005 Here is Ken Getz's article on it. http://msdn2.microsoft.com/en-us/library/aa902693.aspx Where it might get wilder. This week Microsoft's announced that the next release of SQL Server, SQL Server 2008, expected next year, will include support for spatial data. Probably done with an R* indexed data engine. This means you can handle GIS geocoded data from Access as a frontend. You can do this now with ESRI SQL Server 2008 is called Katmai, see Shamil now they are using volcanoes. Jim Lawrence wrote: >I agree that the borders between the various lists have been criss-crossed >as many have been using the shot-gun approach to ask and answer questions. > >On the other hand much of the newer technology is morphing and the strict >borders are no longer realistic. Example the Access list looks more like the >'Access.Net using SQL 2005' list. No longer does Access just use the MDB >database and eventually SQL DB with .Net/Framework/Mono calls will become >fully incorporated. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia >Sent: Tuesday, May 15, 2007 9:48 AM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] From your friendly moderator > >Well said! > > >On 5/14/07, Andy Lacey wrote: > > >>We seem to have let our standards slip recently regarding posting topics >>to >>the appropriate lists, and regarding cross-posting. Can I just remind >>everyone that we have a specific SQL-Server list, one for VB, one for >>Visio, >>a dba-Tech list for other IT matters, and an OT list for non-IT matters >>(see >>http://www.databaseadvisors.com/lists/whatandhow.asp )? Please make more >>use >>of these other lists and try to limit AccessD to Access stuff. I know that >>AccessD is the main list, but SQLServer and VB particularly have many >>members and are specifically geared to answering questions on those >>topics. >>If you have a question which belongs on one of the other lists I urge you >>to >>please post it on the appropriate list first. If you don't get the >>response >>you're after and believe that reposting to AccessD will help then of >>course >>you're going to, but you should then append "(originally posted to >>dba-xx)" >>to your subject. This will help people who have already seen the original. >>It may even encourage wider membership of the other lists. Please avoid >>the >>scatter-gun approach of just posting the same question straight away to >>all >>of the lists. This generates wasted bandwidth, is a particular irritant >>for >>those on multiple lists and uses up storage in our archive. Many thanks >>for >>your co-operation. >> >>-- Andy Lacey >>http://www.minstersystems.co.uk >> >> -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Tue May 15 20:11:22 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 21:11:22 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: <20070516011121.4C410BD36@smtp-auth.no-ip.com> >...nah ...say it ain't so! ...JC gettin' out of hand? Just ask Charlotte. Or Arthur. It doesn't happen often of course. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Tuesday, May 15, 2007 7:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator ...nah ...say it ain't so! ...JC gettin' out of hand? ...why I declare, I never heard such a thing. :) William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 15, 2007 5:19 PM Subject: Re: [AccessD] From your friendly moderator > Additionally, one big problem is the numbers of list members on the > various > lists. I do not know for sure, but I suspect that the AccessD list has > several hundred members, whereas the Tech list might have 50. If that is > the case, then to ask a question of the tech list is probably not very > useful. > > Yes, this is an ACCESS list, but if there are 400 ACCESSD list members, > how > many of them might use COMODO firewall (for example), as opposed to how > many > of the 50 (number totally made up) Tech list members? > > We have always fielded OT questions on AccessD, and of late, yes, it has > been a little out of hand (mostly me I suspect). > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From carbonnb at gmail.com Tue May 15 20:32:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 21:32:38 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070516011121.4C410BD36@smtp-auth.no-ip.com> References: <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <20070516011121.4C410BD36@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > >...nah ...say it ain't so! ...JC gettin' out of hand? > > Just ask Charlotte. Or Arthur. > > It doesn't happen often of course. Nope, not often at all. Just once. It started with 'subscribe accessd' and hasn't stopped since :) runnin' 'n duckin' :) -- 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 jwcolby at colbyconsulting.com Tue May 15 20:39:06 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 15 May 2007 21:39:06 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: Message-ID: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> ROTFL YOU BAD!!! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Tuesday, May 15, 2007 9:33 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator On 5/15/07, jwcolby wrote: > >...nah ...say it ain't so! ...JC gettin' out of hand? > > Just ask Charlotte. Or Arthur. > > It doesn't happen often of course. Nope, not often at all. Just once. It started with 'subscribe accessd' and hasn't stopped since :) runnin' 'n duckin' :) -- 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 May 15 20:47:15 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 15 May 2007 21:47:15 -0400 Subject: [AccessD] From your friendly moderator In-Reply-To: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> References: <20070516013905.D7F90BE7E@smtp-auth.no-ip.com> Message-ID: On 5/15/07, jwcolby wrote: > ROTFL > > YOU BAD!!! Who? Me? Lil' ol' me? I'd be insulted if it wasn't true :) -- 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 accessd at shaw.ca Tue May 15 21:31:45 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 15 May 2007 19:31:45 -0700 Subject: [AccessD] From your friendly moderator In-Reply-To: <464A54DC.3020504@shaw.ca> Message-ID: <0JI40059H44R82A0@l-daemon> Hi Marty: Just checked it out and it is brilliant. That article is an incredible merging of MS Access, SQL 2005/2008, API/DLL to COM, VB-C#.Net, XML to WebServices and much of the new Access features seem to have AJAX functionality as well. I wonder which list that will fit into? Seems that MS is expanding into ESRI territory... this should be interesting. Oracle has long been the darling but now MS is going on step further into becoming a direct competitor. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Tuesday, May 15, 2007 5:48 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] From your friendly moderator Some of that is already here with Managed Add-ins for Access 2007 and MS Visual Studio 2005 I use VB.Net but any other language could be used like Cobol.Net. You can also do this directly with a VB.Net dll & tlb with a COM Class template too. One of these days, I'll try to get a SQL query using XLINQ to return XML rather than a recordset to Access but that requires Net Framework 3.0 or 3.5 and SQL 2005 Here is Ken Getz's article on it. http://msdn2.microsoft.com/en-us/library/aa902693.aspx Where it might get wilder. This week Microsoft's announced that the next release of SQL Server, SQL Server 2008, expected next year, will include support for spatial data. Probably done with an R* indexed data engine. This means you can handle GIS geocoded data from Access as a frontend. You can do this now with ESRI SQL Server 2008 is called Katmai, see Shamil now they are using volcanoes. From Gustav at cactus.dk Wed May 16 02:19:35 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 09:19:35 +0200 Subject: [AccessD] Sending text direct to printer, take 2 Message-ID: Hi Larry That is not curious. You are writing to a device - or more precisely a device file: http://en.wikipedia.org/wiki/Device_file as if you were writing to a file. To write to an IP address is completely different. You need a protocol and a port and to take care of all the exceptions and possible errors. It can be done. A place to start is to study the Microsoft Winsock Control. Filename: mswinsck.ocx. /gustav >>> lmrazek at lcm-res.com 16-05-2007 00:07 >>> Hi Lambert: It is actually the other way around, or I didn't write out the example correctly: This works (with UNC name): Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close This doesn't (directly to IP address: Open "10.0.2.22" For Output As #1, Print #1, PrtStr Close (no lights, sounds ... Nothing) Curiously, if I map an LPT port to the printer, it works. Do I need to specify the port for the TCP/IP comm? I've been trying to find a reference for these commands, but haven't had any luck. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert Sent: Tuesday, May 15, 2007 8:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 When you say nothing happens with... Open "\\HPLaptop\HPOFFICEJET" For Output As #1, Print #1, PrtStr Close Do you see any lights blinking on the printer? If you do this would suggest that data is getting to the printer. In which case it might just be waiting for a from feed character to make it throw the page. So try... Print #1, YourDataString & chr(12) !!! I just noticed you are printing to file handle #1. Aren't handles 0, 1 and 2 reserved for stdin, stdout and strderr? What about... Dim ph as Long ph = Freefile Open "\\HPLaptop\HPOFFICEJET" For Output As #ph Print #ph, PrtStr Close #ph ??? Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 8:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 andy at minstersystems.co.uk Wed May 16 02:26:10 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 08:26:10 +0100 Subject: [AccessD] From your friendly moderator In-Reply-To: <0JI30011TNTLSO00@l-daemon> Message-ID: <004301c7978b$7a00a760$d787d355@minster33c3r25> You have a point Jim of course, and perhaps the BOD should discuss the structure of the lists. In the meantime a moderator can only moderate what's there. We're pretty tolerant but until the BOD decide otherwise AccessD is primarily for Access stuff. As I say, we're pretty tolerant, and if someone tries to get an answer on another list and comes to AccessD as a last resort because of its wider membership, well fine, I've done it myself, we won't complain. We're just asking tht people try the appropriate list first. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: 15 May 2007 21:39 > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] From your friendly moderator > > > I agree that the borders between the various lists have been > criss-crossed as many have been using the shot-gun approach > to ask and answer questions. > > On the other hand much of the newer technology is morphing > and the strict borders are no longer realistic. Example the > Access list looks more like the 'Access.Net using SQL 2005' > list. No longer does Access just use the MDB database and > eventually SQL DB with .Net/Framework/Mono calls will become > fully incorporated. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Francisco Tapia > Sent: Tuesday, May 15, 2007 9:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] From your friendly moderator > > Well said! > > > On 5/14/07, Andy Lacey wrote: > > > > We seem to have let our standards slip recently regarding posting > > topics to the appropriate lists, and regarding cross-posting. Can I > > just remind everyone that we have a specific SQL-Server > list, one for > > VB, one for Visio, > > a dba-Tech list for other IT matters, and an OT list for > non-IT matters > > (see > > http://www.databaseadvisors.com/lists/whatandhow.asp )? > Please make more > > use > > of these other lists and try to limit AccessD to Access > stuff. I know that > > AccessD is the main list, but SQLServer and VB particularly > have many > > members and are specifically geared to answering questions on those > > topics. > > If you have a question which belongs on one of the other > lists I urge you > > to > > please post it on the appropriate list first. If you don't get the > > response > > you're after and believe that reposting to AccessD will help then of > > course > > you're going to, but you should then append "(originally posted to > > dba-xx)" > > to your subject. This will help people who have already > seen the original. > > It may even encourage wider membership of the other lists. > Please avoid > > the > > scatter-gun approach of just posting the same question > straight away to > > all > > of the lists. This generates wasted bandwidth, is a > particular irritant > > for > > those on multiple lists and uses up storage in our archive. > Many thanks > > for > > your co-operation. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 John.Clark at niagaracounty.com Wed May 16 08:13:50 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 09:13:50 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> Message-ID: <464ACB4D.167F.006B.0@niagaracounty.com> I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. Any ideas?! John W. Clark From andy at minstersystems.co.uk Wed May 16 08:25:32 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 14:25:32 +0100 Subject: [AccessD] Weird Problem...for me anyhow Message-ID: <20070516132537.B896D2B5664@smtp.nildram.co.uk> Hi John Have you (taken a copy first and) repaired and/or compacted the BE (or whole thing if she doesn't have a BE/FE split)? -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] Weird Problem...for me anyhow Date: 16/05/07 13:18 I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. Any ideas?! John W. Clark -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 From carbonnb at gmail.com Wed May 16 08:27:02 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 16 May 2007 09:27:02 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 May 16 09:10:50 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 10:10:50 -0400 Subject: [AccessD] (no subject) Message-ID: <002501c797c4$03603790$8abea8c0@XPS> All, First, sorry I didn't get back to this sooner and thank you all for your comments and thoughts. Second, I'm not going to retch on anyone's ideas. Clearly this is a complex problem and there are many shades of gray. I intentionally left the original message simplistic because I didn't what to imprint too much of my thinking on the question, leaving it as wide open as possible. It was interesting to see the wide range of responses and I don't consider anyone of them to be more right or wrong then another. Each one of us made choices when approaching a particular task and given the same task, anyone of us might have done the same (or not). FWIW, my original layout was the simple "flat file" approach, simply because I could easily nest contacts as many levels as need. It looked like this: tblContacts - Available system wide for all claims. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Company Address - y/n Contact Type ID - Long - FK to tblLookups - Carrier, Adjuster, Employer, Doctor, Attorney, Physical Therapist, etc. Company Name - Text Salutation ID - Long - FK to tblLookups First Name - Text Middle Initial - Text Last Name - Text Suffix - Text Company/Group ID - Long - FK to tblContacts Title - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Date/Time Last Contacted - mm/dd/yyyy Phone - Work - (###) ###-#### Fax - Work - (###) ###-#### Ext (#####) Phone - Home - (###) ###-#### Fax - Home - (###) ###-#### Phone - Alternate Number - (###) ###-#### e-mail - Text Web Site URL - Text Of course there are a number of problems with this as well. Obviously the multiple phone numbers is a no-no. However for many reasons, I don't need more then those. I also don't care if someone has more then one address as I only need to keep track of their primary address. Part of my thinking on multiple addresses is that if I do track them, then by all rights I should also be tracking when they are at each address or which one is "current", all of which is way beyond what I'm attempting to achieve. What the goal is, is to simply record " a point of contact", which is a single address and one of several possible phone numbers. However I have two types of contacts; individuals and companies (or groups). So I am very uncomfortable having everything in a single table. Once again as with the lookup table issue, I would be relying on the programming to abstract part of the normalization process. For example, if the Company Address flag is set, the fields First Name, Last Name, etc would not be filled in, but Company Name would. That's not great, but would be workable. Then I came to contact type. For an individual, it might read "Doctor", but for a company, it would read "Doctors Office", in which there might be one or more doctors. So based on the company flag, I would have to switch the lookup list. Now I'd be doing more then turning on and off controls, but actually having to fetch different sets of data, which is too far over the line for me. Net result is that I'm sitting with this layout at the moment: tblContacts - One record per individual. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Contact Type ID - Long - FK to tblLookups - Adjuster, Doctor, Attorney, Physical Therapist, etc. Salutation ID - Long - FK to tblLookups First Name - Text Middle Initial - Text Last Name - Text Suffix - Text Group ID - Long - FK to tblContactGroups Title - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Phone - Work - (###) ###-#### Ext (#####) Fax - Work - (###) ###-#### Phone - Home - (###) ###-#### Fax - Home - (###) ###-#### Phone - Alternate Number (ie Cell) - (###) ###-#### e-mail - Text tblContactGroups - One record per contact group. Contact ID - Long - PK Date/Time Created - mm/dd/yyyy hh:mm:ss Created By - FK to tblEmployees Date/Time Modified - mm/dd/yyyy hh:mm:ss Modified By - FK to tblEmployees Contact Type ID - Long - FK to tblLookups - Insurer, Doctor's Office, Employer, etc. Name - Text Services/Specialty - Memo - Notes- Memo - General comments Rating - Integer - 1- 10. Date/Time Last Contacted - mm/dd/yyyy Phone - (###) ###-#### Fax - (###) ###-#### Phone - Alternate Number (ie. Backdoor number) - (###) ###-#### e-mail - Text Web Site URL - Text That still doesn't get me normalized by a long shot. Besides the phone numbers, etc I really should break out the relationship between individuals and Groups as right now, I could have two Presidents. But again I'm only trying to keep contact information. The Title field is just for reference and will not be used in any meaningful way. I really don't care about someone's role within a group or company, just that they are associated with it. The only thing I don't like living with is the possibility of having Nulls in a FK field (an individual with no group affiliation), so I may go ahead and break it out anyway. Of course by splitting groups/companies out, I've now lost the ability for a group/company to be related to anything else without adding a lot more tables, but for this app, I don't think it will be an issue. I am going to go through everyone's comments again however and think about this a little more, but I think this is it. Of course I'm open to any comments anyone would care to make as well. Once again, thanks for the time and thoughts! Jim. From garykjos at gmail.com Wed May 16 09:13:31 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 16 May 2007 09:13:31 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: Make a copy of the database and do any and all of these things on that copy - then you can always go back to your original should something really bad happen. 1) Try Compact and repair if you haven't already. 2) there is a stand alond compact and repair called JETCOMP.EXE http://support.microsoft.com/kb/295334 Get that and run it against the database. 3) try to create a NEW TABLE using the old table as input to an APPEND query. Then if that works you could delete the old table and rename the new table to teh name the old one originally had. All I can think of. Are their any MEMO fields in this table? Memo fields are trouble sometimes. GK On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > > Anyhow, a fellow employee deleted some records and now there is some form of corruption going on. I am viewing this is A2K3 and, in one of the tables (CANDIDATES TABLE) there is a record where each of the fields says, "#Deleted." And, in another table (EXAM LIST), which has a relationship w/the first table, if you press the "plus sign", to the left of each record...any record in the table...you get a pop-up saying, "Record is Deleted." > > I tried to delete the record w/the "#Deleted" contents in it, but although you have to verify deleting one record, and it does appear to go away, if you leave the table and reenter it, the record is back. > > I was extremely busy the last two days, so I tried the quick fix of creating a new DB and importing all the objects, but this did not work. It would not import the table, "CANDIDATES TABLE." > > I was going to recover the DB, in a working state, from a backup tape, and just export a group of records that were recently input, out to there, but I'm not sure I can do this either. For one thing, I don't know if I can be sure to get all the related fields correct. > > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! > > John W. Clark > > > > -- > 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 John.Clark at niagaracounty.com Wed May 16 09:17:37 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 10:17:37 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: <464ADA3F.167F.006B.0@niagaracounty.com> You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest in Access...bad that she THINKS she is capable of doing this. I have had to bail her out before, and once again my help has been requested. OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jwcolby at colbyconsulting.com Wed May 16 09:21:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 10:21:16 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: Message-ID: <20070516142115.519F4BCBC@smtp-auth.no-ip.com> >Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. This is a good suggestion. If specific records are corrupted then those will fail to copy. Unfortunately it might simply stop when it encounters the first failure. Another thing to try, if a relationship is established between the parent and child table, delete that relationship, then try to delete the offending parent records. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Wednesday, May 16, 2007 9:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jwcolby at colbyconsulting.com Wed May 16 09:27:57 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 10:27:57 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 jimdettman at verizon.net Wed May 16 09:30:30 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 10:30:30 -0400 Subject: [AccessD] No subject should have been: A database design for contacts....Part II Message-ID: <000201c797c6$c2410bb0$8abea8c0@XPS> Sorry about the "no subject". Had some formatting problems with the message and was cutting and pasting to a new mail message. Lost the subject in the process. It was in regards to the database design for contacts problem. Jim. From garykjos at gmail.com Wed May 16 09:35:18 2007 From: garykjos at gmail.com (Gary Kjos) Date: Wed, 16 May 2007 09:35:18 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ADA3F.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: Well you were working on that database under protest anyway. glad to hear you got it fixed up. GK On 5/16/07, John Clark wrote: > You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) > > John W. Clark -- Gary Kjos garykjos at gmail.com From JHewson at karta.com Wed May 16 09:57:32 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 09:57:32 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com From fuller.artful at gmail.com Wed May 16 10:08:38 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 11:08:38 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464ACB4D.167F.006B.0@niagaracounty.com> References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com> <003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local> <464ACB4D.167F.006B.0@niagaracounty.com> Message-ID: <29f585dd0705160808w232120b7h94c1e8740b1e520a@mail.gmail.com> At first blush, I would guess that your lovely user does not know about the importance of PKs. IME, this #Deleted issue arises in only two cases, which are related: the table does not have a PK. If you're connecting to SQL Server and the table doesn't have a PK, you won't even be able to add or edit a row. If my first wag is wrong, then I would suggest experimenting with various forms of export: to Excel or Word or csv, whatever. If any of these succeed, then you can inhale the results. A. On 5/16/07, John Clark wrote: > > I have a user who has setup her own DB...good that she has an interest in > Access...bad that she THINKS she is capable of doing this. I have had to > bail her out before, and once again my help has been requested. OK, so maybe > I got a little chip on my shoulder w/this one ;o) > > Anyhow, a fellow employee deleted some records and now there is some form > of corruption going on. I am viewing this is A2K3 and, in one of the tables > (CANDIDATES TABLE) there is a record where each of the fields says, > "#Deleted." And, in another table (EXAM LIST), which has a relationship > w/the first table, if you press the "plus sign", to the left of each > record...any record in the table...you get a pop-up saying, "Record is > Deleted." > > I tried to delete the record w/the "#Deleted" contents in it, but although > you have to verify deleting one record, and it does appear to go away, if > you leave the table and reenter it, the record is back. > > I was extremely busy the last two days, so I tried the quick fix of > creating a new DB and importing all the objects, but this did not work. It > would not import the table, "CANDIDATES TABLE." > > I was going to recover the DB, in a working state, from a backup tape, and > just export a group of records that were recently input, out to there, but > I'm not sure I can do this either. For one thing, I don't know if I can be > sure to get all the related fields correct. > > I am about to tell them, "Here is your recovered database. You will need > to re-enter the data you've lost. Sorry!" But I wanted to run it by this > list first. > > Any ideas?! > > John W. Clark > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jimdettman at verizon.net Wed May 16 10:09:15 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 16 May 2007 11:09:15 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: <000d01c797cc$2c387ad0$8abea8c0@XPS> Jim, <> In regards to ADO, that's not correct. ADO was designed as a universal data connector lib. It allows you to connect to databases, spreadsheets, text files, etc. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 16 10:12:24 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 08:12:24 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <000d01c797cc$2c387ad0$8abea8c0@XPS> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com><9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <000d01c797cc$2c387ad0$8abea8c0@XPS> Message-ID: You beat me to it, Jim. I was going to say the same thing. ADO is about manipulating *data* not tables, fields, etc. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 16, 2007 8:09 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Jim, <> In regards to ADO, that's not correct. ADO was designed as a universal data connector lib. It allows you to connect to databases, spreadsheets, text files, etc. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 May 16 09:45:34 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 10:45:34 -0400 Subject: [AccessD] (no subject) In-Reply-To: <002501c797c4$03603790$8abea8c0@XPS> References: <002501c797c4$03603790$8abea8c0@XPS> Message-ID: <29f585dd0705160745u5d89be95n5385c8affd38fe29@mail.gmail.com> Thank you for your considered response to our numerous comments, although I did kind of hurl when you wrote that "I don't consider any one of them to be more right or wrong then another." (ibid) You have to get over that. Databases are not a morally or intellectually relative universe. Just ask JWC, for example. More seriously, there are only four people on this list to take seriously, and I am not one of them. Arthur On 5/16/07, Jim Dettman wrote: > > All, > > First, sorry I didn't get back to this sooner and thank you all for your > comments and thoughts. > > Second, I'm not going to retch on anyone's ideas. Clearly this is a > complex problem and there are many shades of gray. I intentionally left > the original message simplistic because I didn't what to imprint too much > of > my thinking on the question, leaving it as wide open as possible. > > It was interesting to see the wide range of responses and I don't consider > anyone of them to be more right or wrong then another. Each one of us > made > choices when approaching a particular task and given the same task, anyone > of us might have done the same (or not). > > FWIW, my original layout was the simple "flat file" approach, simply > because I could easily nest contacts as many levels as need. It looked > like > this: > > tblContacts - Available system wide for all claims. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Company Address - y/n > Contact Type ID - Long - FK to tblLookups - Carrier, Adjuster, Employer, > Doctor, Attorney, Physical Therapist, etc. > Company Name - Text > Salutation ID - Long - FK to tblLookups > First Name - Text > Middle Initial - Text > Last Name - Text > Suffix - Text > Company/Group ID - Long - FK to tblContacts > Title - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Date/Time Last Contacted - mm/dd/yyyy > Phone - Work - (###) ###-#### > Fax - Work - (###) ###-#### > Ext (#####) > Phone - Home - (###) ###-#### > Fax - Home - (###) ###-#### > Phone - Alternate Number - (###) ###-#### > e-mail - Text > Web Site URL - Text > > > Of course there are a number of problems with this as well. Obviously > the multiple phone numbers is a no-no. However for many reasons, I don't > need more then those. I also don't care if someone has more then one > address as I only need to keep track of their primary address. Part of my > thinking on multiple addresses is that if I do track them, then by all > rights I should also be tracking when they are at each address or which > one > is "current", all of which is way beyond what I'm attempting to achieve. > > What the goal is, is to simply record " a point of contact", which is a > single address and one of several possible phone numbers. However I have > two types of contacts; individuals and companies (or groups). So I am > very > uncomfortable having everything in a single table. Once again as with the > lookup table issue, I would be relying on the programming to abstract part > of the normalization process. For example, if the Company Address flag is > set, the fields First Name, Last Name, etc would not be filled in, but > Company Name would. > > That's not great, but would be workable. Then I came to contact type. > For an individual, it might read "Doctor", but for a company, it would > read > "Doctors Office", in which there might be one or more doctors. So based > on > the company flag, I would have to switch the lookup list. Now I'd be > doing > more then turning on and off controls, but actually having to fetch > different sets of data, which is too far over the line for me. > > Net result is that I'm sitting with this layout at the moment: > > tblContacts - One record per individual. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Contact Type ID - Long - FK to tblLookups - Adjuster, Doctor, Attorney, > Physical Therapist, etc. > Salutation ID - Long - FK to tblLookups > First Name - Text > Middle Initial - Text > Last Name - Text > Suffix - Text > Group ID - Long - FK to tblContactGroups > Title - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Phone - Work - (###) ###-#### > Ext (#####) > Fax - Work - (###) ###-#### > Phone - Home - (###) ###-#### > Fax - Home - (###) ###-#### > Phone - Alternate Number (ie Cell) - (###) ###-#### > e-mail - Text > > tblContactGroups - One record per contact group. > Contact ID - Long - PK > Date/Time Created - mm/dd/yyyy hh:mm:ss > Created By - FK to tblEmployees > Date/Time Modified - mm/dd/yyyy hh:mm:ss > Modified By - FK to tblEmployees > Contact Type ID - Long - FK to tblLookups - Insurer, Doctor's Office, > Employer, etc. > Name - Text > Services/Specialty - Memo - > Notes- Memo - General comments > Rating - Integer - 1- 10. > Date/Time Last Contacted - mm/dd/yyyy > Phone - (###) ###-#### > Fax - (###) ###-#### > Phone - Alternate Number (ie. Backdoor number) - (###) ###-#### > e-mail - Text > Web Site URL - Text > > > That still doesn't get me normalized by a long shot. Besides the phone > numbers, etc I really should break out the relationship between > individuals > and Groups as right now, I could have two Presidents. But again I'm only > trying to keep contact information. The Title field is just for reference > and will not be used in any meaningful way. I really don't care about > someone's role within a group or company, just that they are associated > with > it. > > The only thing I don't like living with is the possibility of having Nulls > in a FK field (an individual with no group affiliation), so I may go ahead > and break it out anyway. Of course by splitting groups/companies out, > I've > now lost the ability for a group/company to be related to anything else > without adding a lot more tables, but for this app, I don't think it will > be > an issue. > > I am going to go through everyone's comments again however and think about > this a little more, but I think this is it. Of course I'm open to any > comments anyone would care to make as well. > > Once again, thanks for the time and thoughts! > > Jim. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 16 10:20:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:20:13 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Yes, except... >When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1) When using an MDB, DAO is usually much faster. 2) ...the reverse is true for ADO is a little vague. ADO is never "much faster", but since it can do things that ADO cannot this is irrelevant. As for a "better" object model, it is better stated that it has an object model optimized for abstracted data containers (if such a thing is possible). It is tough to say it is optimized for anything since it is designed to handle whatever is thrown at it. Other than that, it is a good summarization. Perhaps it could be placed up on our web site? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 May 16 10:24:36 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 16 May 2007 11:24:36 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <000d01c797cc$2c387ad0$8abea8c0@XPS> Message-ID: <29f585dd0705160824j6cd13f20tfd8153fbf16023d7@mail.gmail.com> Yep. And I also want to see the demonstrations that ADO is slower than DAO. Unfortunately, these might be hard to provide, because it's irrelevant which is quicker against an MDB. On 5/16/07, Charlotte Foust wrote: > > You beat me to it, Jim. I was going to say the same thing. ADO is > about manipulating *data* not tables, fields, etc. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman > Sent: Wednesday, May 16, 2007 8:09 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Jim, > > < 4). > >> > > In regards to ADO, that's not correct. ADO was designed as a > universal data connector lib. It allows you to connect to databases, > spreadsheets, text files, etc. > > Jim. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest > what has been said. I combined all the comments in the hope I would > understand the concepts better. Below is what I gleaned out of the > correspondence. I do have one more question... When reviewing the > References list, how does one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific > library for MDBs (2). The library has objects for databases, tables, > queries, forms and reports (documents) modules etc. The library knows > all about the structure of the MDB and allows the programmer to program > to the pieces of an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the structure of the object which contains the tables / fields (ibid). > ADO is a more generic data handling model, and it handles that role much > better than DAO in many cases (1, 4). DAO will run parameter queries > using references on forms but ADO will fail (e.g. > Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models > Access will use the library first referenced unless specified otherwise > (3). The two models have objects of the same name but different methods > and properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's > (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the > same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). > DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is DAO since ADO does not understand the MDB structure (2). You can't > pass objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically > declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement > binds the variable to the correct object in the correct library and both > can be used "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server > to EXCEL at the drop of a connection string. It is also slower, often > times RADICALLY slower. DAO knows the details of the data store > intimately and can thus optimize its operations whereas ADO cannot. DAO > can only be used for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the > data store and either ADO or DAO can be used. The link uses ODBC > internally, but does not use ADO itself. ADO can (in code) directly > reference tables out in a NON-MDB data store using ODBC whereas DAO > cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, > Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, > Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 10:25:03 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 08:25:03 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com> <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> Message-ID: >>When reviewing the References list, how does one know which reference uses ADO vs DAO? You set a reference to the ActiveX Data Objects library to use ADO, just as you set a reference to the Microsoft DAO library to use DAO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 7:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 10:27:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:27:58 -0400 Subject: [AccessD] (no subject) In-Reply-To: <29f585dd0705160745u5d89be95n5385c8affd38fe29@mail.gmail.com> Message-ID: <20070516152756.A4C96BF14@smtp-auth.no-ip.com> >More seriously, there are only four people on this list to take seriously, and I am not one of them. ROTFL. You most certainly ARE (when you are on task). ;-) Oh... 8~( John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 16, 2007 10:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] (no subject) Thank you for your considered response to our numerous comments, although I did kind of hurl when you wrote that "I don't consider any one of them to be more right or wrong then another." (ibid) You have to get over that. Databases are not a morally or intellectually relative universe. Just ask JWC, for example. More seriously, there are only four people on this list to take seriously, and I am not one of them. Arthur From jwcolby at colbyconsulting.com Wed May 16 10:28:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 11:28:59 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Message-ID: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> >but since it can do things that ADO cannot this is irrelevant. Should be but since it can do things that DAO cannot this is irrelevant. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 11:20 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Yes, except... >When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1) When using an MDB, DAO is usually much faster. 2) ...the reverse is true for ADO is a little vague. ADO is never "much faster", but since it can do things that ADO cannot this is irrelevant. As for a "better" object model, it is better stated that it has an object model optimized for abstracted data containers (if such a thing is possible). It is tough to say it is optimized for anything since it is designed to handle whatever is thrown at it. Other than that, it is a good summarization. Perhaps it could be placed up on our web site? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 10:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO Thanks to everyone who replied. I'm sometimes a little bone-headed and it takes me sometime to digest what has been said. I combined all the comments in the hope I would understand the concepts better. Below is what I gleaned out of the correspondence. I do have one more question... When reviewing the References list, how does one know which reference uses ADO vs DAO? Thanks, 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO around SQL db BE's (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a better object model ...the reverse is true for ADO (3). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka Jim jhewson at karta.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 setel.com Wed May 16 10:32:50 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 11:32:50 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com> <20070516152011.F1BBBBD68@smtp-auth.no-ip.com> Message-ID: <000301c797cf$776bdad0$feb62ad1@SusanOne> Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. From john at winhaven.net Wed May 16 10:48:33 2007 From: john at winhaven.net (John Bartow) Date: Wed, 16 May 2007 10:48:33 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <000301c797cf$776bdad0$feb62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com> <000301c797cf$776bdad0$feb62ad1@SusanOne> Message-ID: <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. Thanks, John -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. From JHewson at karta.com Wed May 16 10:53:19 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 10:53:19 -0500 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <000301c797cf$776bdad0$feb62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com> <000301c797cf$776bdad0$feb62ad1@SusanOne> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B6561@karta-exc-int.Karta.com> 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! Susan H. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 11:10:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 12:10:56 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B6561@karta-exc-int.Karta.com> Message-ID: <20070516161054.E1393BD44@smtp-auth.no-ip.com> Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 Chester_Kaup at kindermorgan.com Wed May 16 11:28:29 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Wed, 16 May 2007 11:28:29 -0500 Subject: [AccessD] Select 2 fields from a subquery Message-ID: I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. From ssharkins at setel.com Wed May 16 11:31:44 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 12:31:44 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne> <01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> Message-ID: <000c01c797d7$b1f62590$98b62ad1@SusanOne> Jim, would you mind incorporating the technical corrections you receive and then sending it to me? Susan H. Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. From Gustav at cactus.dk Wed May 16 11:52:17 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 18:52:17 +0200 Subject: [AccessD] Select 2 fields from a subquery Message-ID: Hi Chester The "quick" solution (it may run slow) is to repeat the subquery for the other field: SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent, (Select Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent2 FROM T_PriceCurrent; /gustav >>> Chester_Kaup at kindermorgan.com 16-05-2007 18:28:29 >>> I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 From John.Clark at niagaracounty.com Wed May 16 11:58:23 2007 From: John.Clark at niagaracounty.com (John Clark) Date: Wed, 16 May 2007 12:58:23 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> References: <464ADA3F.167F.006B.0@niagaracounty.com> <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> Message-ID: <464AFFEC.167F.006B.0@niagaracounty.com> Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 12:10:05 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 13:10:05 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <464AFFEC.167F.006B.0@niagaracounty.com> Message-ID: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Yea, that is what the list is for. I can't count the times I have pressed the send only to have the answer pop into my head. As for bothering others, if they don't want to be bothered they are on the wrong list. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 12:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will > need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Wed May 16 12:26:46 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 16 May 2007 13:26:46 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> References: <464AFFEC.167F.006B.0@niagaracounty.com> <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Message-ID: On 5/16/07, jwcolby wrote: > Yea, that is what the list is for. I can't count the times I have pressed > the send only to have the answer pop into my head. That's what's called the ohsecond!! The second you press send, "Oh That's the answer" pops into your head :) -- 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 accessd at shaw.ca Wed May 16 12:38:14 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 10:38:14 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516161054.E1393BD44@smtp-auth.no-ip.com> Message-ID: <0JI500JGQA3HGF00@l-daemon> I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 JHewson at karta.com Wed May 16 12:37:46 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 16 May 2007 12:37:46 -0500 Subject: [AccessD] DAO vs ADO In-Reply-To: <000c01c797d7$b1f62590$98b62ad1@SusanOne> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne><01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq> <000c01c797d7$b1f62590$98b62ad1@SusanOne> Message-ID: <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> Done, I sent a Word Doc off list. Except the last bit of correction John Colby posted. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 11:32 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Jim, would you mind incorporating the technical corrections you receive and then sending it to me? Susan H. Susan, I agree - nice summation. If you'd like to work with Jim Hewson and Jim Lawrence on this for a web site addition you have my full support. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Wed May 16 12:53:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 13:53:58 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500JGQA3HGF00@l-daemon> Message-ID: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> >There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Wed May 16 12:58:10 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 10:58:10 -0700 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516171003.8A095BF0E@smtp-auth.no-ip.com> References: <464AFFEC.167F.006B.0@niagaracounty.com> <20070516171003.8A095BF0E@smtp-auth.no-ip.com> Message-ID: >>if they don't want to be bothered they are on the wrong list. LOL Especially with *you* here, John! Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:10 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Yea, that is what the list is for. I can't count the times I have pressed the send only to have the answer pop into my head. As for bothering others, if they don't want to be bothered they are on the wrong list. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 12:58 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Weird Problem...for me anyhow Now wait a minute...I've got to debate this 3-stripe penalty... The first two stripesl...trusting a user and no doing it myself are pretty much the same thing. I'll accept a one stripe penalty for that. Bother so many people? C'mon...you of all people John? You must love helping us poor unfortunates. This list pretty much trained me. Can't I get some credits on this anyhow? I haven't been much of a bother, for quite a while now. I went from posting 2-4 questions a week, to about this many in a month, to once in a while, to now I hardly ever ask things...AND even know the answers to the questions of others...never quite beat the buzzer on answering though ;o) BTW, I forgot to voice my Thank You to everybody that responded. I was a little embarrassed to be honest...in my defense, I have had a very hectic few days...came in Monday morning to discover one of MY sites completely down...computer AND phones. I adimantly declared it a tel co. problem, only to discover it was our problem...rare and odd, but ours none the less. Fixed it, only to have the phones go down again last night for a totally different, but connected cause. So a weird little access problem, from someone that created a "novice" program w/out my help, probably got doled out to my lesser fit brain cells ;o) So, one more time...Thank you! Thank you! Thank you!!! John W. Clark >>> "jwcolby" 5/16/2007 10:27 AM >>> >Do I get demoted to rookie for this? OH YEA! You lose one stripe for assuming that the user did anything. You lose another for not just doing a compact / repair before you try anything else. And you lose a third stripe for bothering so many people. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Clark Sent: Wednesday, May 16, 2007 10:18 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow You know, I am feeling pretty damn silly right about now. This is the first thing that I would normally try, but I guess I just sort of assumed (yeah, I know, I know) that they would have done this before calling me, so I just blew past this option. As you probably guessed by now, it worked. Do I get demoted to rookie for this?! ;o) John W. Clark >>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> On 5/16/07, John Clark wrote: > I have a user who has setup her own DB...good that she has an interest > in Access...bad that she THINKS she is capable of doing this. I have > had to bail her out before, and once again my help has been requested. > OK, so maybe I got a little chip on my shoulder w/this one ;o) > I am about to tell them, "Here is your recovered database. You will > need to re-enter the data you've lost. Sorry!" But I wanted to run it by this list first. > > Any ideas?! Couple of Shots in the dark. How about a Compact & Repair? Failing that, create a new table with the same layout as the first, then do an append from the corrupted table to the new table. -- 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Wed May 16 12:59:19 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 10:59:19 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500JGQA3HGF00@l-daemon> References: <20070516161054.E1393BD44@smtp-auth.no-ip.com> <0JI500JGQA3HGF00@l-daemon> Message-ID: I disagree, Jim. ADO can't handle most of the UI manipulation that DAO can. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 10:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From CFraase at officeimagesinc.com Wed May 16 13:49:51 2007 From: CFraase at officeimagesinc.com (Cindy Fraase) Date: Wed, 16 May 2007 14:49:51 -0400 Subject: [AccessD] Excel Automation problem In-Reply-To: References: Message-ID: Hi All, I finally got back to the computer that was having trouble. The references were in the same order, so that wasn't it. But I simply reregistered the DAO360 dll and everything works again! I thought I'd post this in case anyone else runs across the problem. Cindy Cynthia Fraase Asst. Controller Direct: 678-325-3251 Cell: 770-318-0628 Fax: 770-641-2656 www.officeimagesinc.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, April 20, 2007 12:55 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Excel Automation problem Hi Cindy It could be an MDAC versions mis-match: http://search.msdn.microsoft.com/search/Default.aspx?brand=msdn&locale=e n-us&query=430+Class+does+not+support+Automation+or+does+not+support+exp ected /gustav >>> CFraase at officeimagesinc.com 20-04-2007 18:40 >>> Hi all, I'm really mystified as to what is happening. The following line of code works fine on my machine, but fails with this error on another. Both machines are running Access 2003 and all of the references match. The database is in Access 2002-3 format. It's located on the server, so I'm running exactly the same database as he is. I've created an Excel sheet via automation and am filling it with data here. The line is: objSheet2.Range("A2").CopyFromRecordset rsSalary The error message I get is: 430 Class does not support Automation or does not support expected interface. Any insights would be greatly appreciated! Thanks, Cindy -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 16 13:48:58 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 16 May 2007 13:48:58 -0500 Subject: [AccessD] Sending text direct to printer, Solution! In-Reply-To: <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> References: <89b69b5cc1e345428bb38f78828fa15e@lcm-res.com><4648D0C7.23675.19BB3E0B@stuart.lexacorp.com.pg> <00ee01c796ec$5e8a7910$046fa8c0@lcmdv8000> Message-ID: <038501c797ea$dee5c4d0$046fa8c0@lcmdv8000> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Lawrence Mrazek Sent: Tuesday, May 15, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Sending text direct to printer, take 2 I've tried that, but nothing happens ... I'm wondering if there is some additional criteria I need to make it work ... Haven't been able to find any good reference material on this technique. I got it to work yesterday by sharing out the network printer on my machine, then mapping the share to a LPT port. I'd rather not do this. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Monday, May 14, 2007 4:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Sending text direct to printer, take 2 Don't know if it will work, but I'd try creating a "Standard TCP/IP Port" for the network machine's IP address and printing to that. On 14 May 2007 at 16:47, Lawrence Mrazek wrote: > > > Hi: > > Thanks to Gustav, I have some code that works on my local machine ... > however, I'll need to print to an IP address, and I haven't been able > to find the syntax. > > This Works: > Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "\\HPLaptop\HPOFFICEJET" For Output As #1 rint #1, PrtStr Close > #1 > > This doesn't (no errors, basically nothing) Dim PrtStr As String > PrtStr = "Printer Test Text llllllllllllllllllllllllllllllllllll" > Open "10.0.2.22" For Output As #1 > Print #1, PrtStr > Close #1 > > Anyone have any ideas? > > Thanks in advance. > > Larry Mrazek > lmrazek at lcm-res.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Wed May 16 13:59:13 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 16 May 2007 20:59:13 +0200 Subject: [AccessD] Sending text direct to printer, Solution! Message-ID: Hi Larry That will work. However, be prepared the printing process will be much longer than sending strings directly to the printer. It may not matter in your situation, but if you print to a POS receipt printer it will, as in that situation every second counts. /gustav >>> lmrazek at lcm-res.com 16-05-2007 20:48:58 >>> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 From martyconnelly at shaw.ca Wed May 16 14:15:19 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 16 May 2007 12:15:19 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> References: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> Message-ID: <464B5847.1030100@shaw.ca> You might want to pinch jpegs of the two object models for DAO and ADO. Plenty on MS site. This one ain't that great. DAO Object Model dbEngine | Workspaces _________|____________________________ | | | Databases Users Groups | | | | Groups Users ____ _|____________________________________ | | | TableDefs QueryDefs | ___|____ _____|_____ | | | | | | Fields Indexes Fields Parameters | | | Fields | ____________ | ___________ | | | Recordsets Relations Containers | | | Fields Fields Documents Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Wed May 16 15:15:48 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 13:15:48 -0700 Subject: [AccessD] OT DBA web site In-Reply-To: Message-ID: <0JI500AF5HE3G3D0@l-daemon> Hi All: The DBA site has been updated with a new page under the Reference section. It holds a list of links to various MS SQL 2005 and MS Visual Studio apps, refs and downloads. There is a number of other links to add this page but this is the first pass. Also have a tentative link to the DBA Summer Conference. More details will be posted as they become available. (I suspect the conference time-table and details are directly linked to John getting his server app running/finished ;-).... so you guys get to work. JimL PS I have noticed that there seems to be a proliferation of 'Jims' on this site. It is getting very confusing as it is becoming hard to know what I said or didn't say. Maybe adding the first letter of the last name might help. e.i. JimL. (We also have a lot of Johns on site... but that is for them to deal with.) From ssharkins at setel.com Wed May 16 15:13:35 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 16 May 2007 16:13:35 -0400 Subject: [AccessD] DAO vs ADO In-Reply-To: <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> References: <9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><20070516152011.F1BBBBD68@smtp-auth.no-ip.com><000301c797cf$776bdad0$feb62ad1@SusanOne><01c001c797d1$a8f8b8a0$6402a8c0@ScuzzPaq><000c01c797d7$b1f62590$98b62ad1@SusanOne> <9C382E065F54AE48BC3AA7925DCBB01C051B658B@karta-exc-int.Karta.com> Message-ID: <000a01c797f6$af844a20$4a32fad1@SusanOne> Let's do this -- I can't keep up with the conversation and hope to make every change without missing something. If those who contributed are willing -- would you please look over the document (follows), make necessary changes, and send them to me privately. I'll compile them and resubmit the edited doc to the list for a final check. Are you guys agreeable to that? Susan H. 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Susan H. From jwcolby at colbyconsulting.com Wed May 16 15:22:03 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 16 May 2007 16:22:03 -0400 Subject: [AccessD] OT DBA web site In-Reply-To: <0JI500AF5HE3G3D0@l-daemon> Message-ID: <20070516202202.1BD94BC6B@smtp-auth.no-ip.com> It all looks mighty fine. Thanks for all the hard work you do on this stuff. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 4:16 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT DBA web site Hi All: The DBA site has been updated with a new page under the Reference section. It holds a list of links to various MS SQL 2005 and MS Visual Studio apps, refs and downloads. There is a number of other links to add this page but this is the first pass. Also have a tentative link to the DBA Summer Conference. More details will be posted as they become available. (I suspect the conference time-table and details are directly linked to John getting his server app running/finished ;-).... so you guys get to work. JimL PS I have noticed that there seems to be a proliferation of 'Jims' on this site. It is getting very confusing as it is becoming hard to know what I said or didn't say. Maybe adding the first letter of the last name might help. e.i. JimL. (We also have a lot of Johns on site... but that is for them to deal with.) -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From lmrazek at lcm-res.com Wed May 16 15:26:02 2007 From: lmrazek at lcm-res.com (Lawrence Mrazek) Date: Wed, 16 May 2007 15:26:02 -0500 Subject: [AccessD] Sending text direct to printer, Solution! In-Reply-To: References: Message-ID: <03ba01c797f8$6dd333f0$046fa8c0@lcmdv8000> Hi Gustav: Good point. In this case, it shouldn't matter, since it will be sent to a HP Jet Direct Print Server. Basically, the barcodes print out automatically, and are slapped on a pallet with other information. Thanks again to all regarding this problem. Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 16, 2007 1:59 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Sending text direct to printer, Solution! Hi Larry That will work. However, be prepared the printing process will be much longer than sending strings directly to the printer. It may not matter in your situation, but if you print to a POS receipt printer it will, as in that situation every second counts. /gustav >>> lmrazek at lcm-res.com 16-05-2007 20:48:58 >>> Hi Folks: Replying to my own post for the archives. I found an alternate method of printing to a lable printer using ZPL II (or another printer control language, for that matter). 1. Setup the printer as a "Generic, Text Only" printer 2. Create a report, no margins. 3. Place one field on the report, you could have get it's source from a memo/text field or a control on a form. The memo field contains all of the printer codes and text. 4. Print the Report to the "Generic, Text Only" printer (or create a button to do this). Thanks! Larry Mrazek LCM Research, Inc. www.lcm-res.com lmrazek at lcm-res.com ph. 314-432-5886 mobile: 314-496-1645 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Wed May 16 15:39:07 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 13:39:07 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> Message-ID: <0JI500DCTIGYJNA0@l-daemon> Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Wed May 16 15:57:30 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 13:57:30 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500DCTIGYJNA0@l-daemon> References: <20070516175356.C5B47BE26@smtp-auth.no-ip.com> <0JI500DCTIGYJNA0@l-daemon> Message-ID: That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 andy at minstersystems.co.uk Wed May 16 16:05:12 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 16 May 2007 22:05:12 +0100 Subject: [AccessD] OT DBA web site In-Reply-To: <20070516202202.1BD94BC6B@smtp-auth.no-ip.com> Message-ID: <007f01c797fd$e4f2b5a0$d787d355@minster33c3r25> Yes thanks JimL. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: 16 May 2007 21:22 > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT DBA web site > > > It all looks mighty fine. Thanks for all the hard work you > do on this stuff. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: Wednesday, May 16, 2007 4:16 PM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] OT DBA web site > > Hi All: > > The DBA site has been updated with a new page under the > Reference section. It holds a list of links to various MS SQL > 2005 and MS Visual Studio apps, refs and downloads. There is > a number of other links to add this page but this is the first pass. > > Also have a tentative link to the DBA Summer Conference. More > details will be posted as they become available. (I suspect > the conference time-table and details are directly linked to > John getting his server app running/finished ;-).... so you > guys get to work. > > JimL > > PS I have noticed that there seems to be a proliferation of > 'Jims' on this site. It is getting very confusing as it is > becoming hard to know what I said or didn't say. Maybe adding > the first letter of the last name might help. e.i. JimL. (We > also have a lot of Johns on site... but that is for > them to deal with.) > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Chester_Kaup at kindermorgan.com Wed May 16 16:28:06 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Wed, 16 May 2007 16:28:06 -0500 Subject: [AccessD] Select 2 fields from a subquery In-Reply-To: References: Message-ID: Thanks. Works really fast on a few records. I will have to check on using it on more records. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 16, 2007 11:52 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select 2 fields from a subquery Hi Chester The "quick" solution (it may run slow) is to repeat the subquery for the other field: SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent, (Select Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent2 FROM T_PriceCurrent; /gustav >>> Chester_Kaup at kindermorgan.com 16-05-2007 18:28:29 >>> I have the following query that selects on field (Price) from a table (T_PriceIndex) with a sub query. I would like to select 2 fields from the table (T_PriceIndex) used in the sub query. The current query looks like this. SELECT T_PriceCurrent.SDate, (Select Price from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; I changed the query as below. It now generates an error and wants an exists in the query. I am lost here. Can it be done? Thanks SELECT T_PriceCurrent.SDate, (Select Price, Price2 from T_PriceIndex as T1 where T1.Pattern = T_PriceCurrent.Pattern And T1.SDate=(Select Max(SDate) from T_PriceIndex AS T2 where T2.Pattern = T_PriceCurrent.Pattern And T2.SDate<=T_PriceCurrent.SDate)) AS PriceCurrent FROM T_PriceCurrent; Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Wed May 16 16:52:15 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 14:52:15 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: Message-ID: <0JI500B9BLUU4M10@l-daemon> Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 stuart at lexacorp.com.pg Wed May 16 16:58:21 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Thu, 17 May 2007 07:58:21 +1000 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: References: <464AFFEC.167F.006B.0@niagaracounty.com>, <20070516171003.8A095BF0E@smtp-auth.no-ip.com>, Message-ID: <464B7E7D.18985.2431CC5F@stuart.lexacorp.com.pg> On 16 May 2007 at 13:26, Bryan Carbonnell wrote: > On 5/16/07, jwcolby wrote: > > Yea, that is what the list is for. I can't count the times I have pressed > > the send only to have the answer pop into my head. > > That's what's called the ohsecond!! > > The second you press send, "Oh That's the answer" pops into your head :) Which is longer than an ohnosecond: ohnosecond An instant of time even smaller than a microsecond in which you realize the disastrous consequences of your actions. Usually applies to the moment when you realize the command you?ve just given is deleting important data. -- Stuart From wdhindman at dejpolsystems.com Wed May 16 17:52:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 18:52:45 -0400 Subject: [AccessD] Weird Problem...for me anyhow References: <20070515211957.EF549BDC5@smtp-auth.no-ip.com><003b01c79746$8cc6c450$7d7d6c4c@jisshowsbs.local><464ACB4D.167F.006B.0@niagaracounty.com> <464ADA3F.167F.006B.0@niagaracounty.com> Message-ID: <001401c7980c$eb974f60$7d7d6c4c@jisshowsbs.local> ...first you have to tell us when you got promoted from rookie? :) William Hindman ----- Original Message ----- From: "John Clark" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 10:17 AM Subject: Re: [AccessD] Weird Problem...for me anyhow > You know, I am feeling pretty damn silly right about now. This is the > first thing that I would normally try, but I guess I just sort of assumed > (yeah, I know, I know) that they would have done this before calling me, > so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for > this?! ;o) > > John W. Clark > >>>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> > On 5/16/07, John Clark wrote: >> I have a user who has setup her own DB...good that she has an interest in >> Access...bad that she THINKS she is capable of doing this. I have had to >> bail her out before, and once again my help has been requested. OK, so >> maybe I got a little chip on my shoulder w/this one ;o) > > > >> I am about to tell them, "Here is your recovered database. You will need >> to re-enter the data you've lost. Sorry!" But I wanted to run it by this >> list first. >> >> Any ideas?! > > Couple of Shots in the dark. > > How about a Compact & Repair? > > Failing that, create a new table with the same layout as the first, > then do an append from the corrupted table to the new table. > > -- > 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 wdhindman at dejpolsystems.com Wed May 16 18:03:50 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 19:03:50 -0400 Subject: [AccessD] DAO vs ADO References: <9C382E065F54AE48BC3AA7925DCBB01C051B6491@karta-exc-int.Karta.com><9C382E065F54AE48BC3AA7925DCBB01C051B6554@karta-exc-int.Karta.com><000d01c797cc$2c387ad0$8abea8c0@XPS> <29f585dd0705160824j6cd13f20tfd8153fbf16023d7@mail.gmail.com> Message-ID: <003001c7980e$7846abd0$7d7d6c4c@jisshowsbs.local> "it's irrelevant which is quicker against an MDB." Arthur ...yep, you were right Arthur ...you're not to be taken seriously :)))) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 11:24 AM Subject: Re: [AccessD] DAO vs ADO > Yep. And I also want to see the demonstrations that ADO is slower than > DAO. > Unfortunately, these might be hard to provide, because it's irrelevant > which > is quicker against an MDB. > > On 5/16/07, Charlotte Foust wrote: >> >> You beat me to it, Jim. I was going to say the same thing. ADO is >> about manipulating *data* not tables, fields, etc. >> >> Charlotte Foust >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >> Sent: Wednesday, May 16, 2007 8:09 AM >> To: 'Access Developers discussion and problem solving' >> Subject: Re: [AccessD] DAO vs ADO >> >> Jim, >> >> <> 4). >> >> >> >> In regards to ADO, that's not correct. ADO was designed as a >> universal data connector lib. It allows you to connect to databases, >> spreadsheets, text files, etc. >> >> Jim. >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson >> Sent: Wednesday, May 16, 2007 10:58 AM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] DAO vs ADO >> >> Thanks to everyone who replied. >> I'm sometimes a little bone-headed and it takes me sometime to digest >> what has been said. I combined all the comments in the hope I would >> understand the concepts better. Below is what I gleaned out of the >> correspondence. I do have one more question... When reviewing the >> References list, how does one know which reference uses ADO vs DAO? >> >> Thanks, >> >> 1. The difference between DAO and ADO. >> DAO is optimized for the Jet Engine (1) and is a specific >> library for MDBs (2). The library has objects for databases, tables, >> queries, forms and reports (documents) modules etc. The library knows >> all about the structure of the MDB and allows the programmer to program >> to the pieces of an MDB container (1, 2, 4). >> >> ADO on the other hand is an abstracted library that is used to >> manipulate tables, fields and their properties. It does not understand >> the structure of the object which contains the tables / fields (ibid). >> ADO is a more generic data handling model, and it handles that role much >> better than DAO in many cases (1, 4). DAO will run parameter queries >> using references on forms but ADO will fail (e.g. >> Forms!frmSomething!cmbSomething) (4). >> >> When identical functions are included in both object models >> Access will use the library first referenced unless specified otherwise >> (3). The two models have objects of the same name but different methods >> and properties (1). ADO is more flexible than DAO (4). >> >> DAO was designed specifically for Jet and ADO around SQL db BE's >> (3, 4). When using an mdb/Jet BE's DAO is usually much faster and has a >> better object model ...the reverse is true for ADO (3). >> >> 1a. Examining VBA code to determine which library is used >> There is much confusion because both libraries have some of the >> same >> objects. If an object is not dimensioned (Dim) VB attempts to use the >> reference physically closest to the top of the reference list (2, 3). >> DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function >> interchangeably. If a reference is any part of a mdb structure, then it >> is DAO since ADO does not understand the MDB structure (2). You can't >> pass objects back and forth between ADO and DAO (1). >> >> 1b. Mixing DAO and ADO >> They can be mixed but dimension statements must specifically >> declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement >> binds the variable to the correct object in the correct library and both >> can be used "at the same time" (2). >> >> 2. Recommendation for MDBs >> ADO is abstracted, allowing one to switch from MDB to SQL Server >> to EXCEL at the drop of a connection string. It is also slower, often >> times RADICALLY slower. DAO knows the details of the data store >> intimately and can thus optimize its operations whereas ADO cannot. DAO >> can only be used for an MDB or a LINKED table (2). >> >> 3. Connecting to data store >> When working with an ADP, which is an Access FE directly to SQL >> Server without linked tables, ADO is necessary (1, 3). DAO can't handle >> an ADO recordset and vice versa (1). >> >> If the table is linked, the link handles the connection to the >> data store and either ADO or DAO can be used. The link uses ODBC >> internally, but does not use ADO itself. ADO can (in code) directly >> reference tables out in a NON-MDB data store using ODBC whereas DAO >> cannot (2). >> >> >> Recommendations: >> 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar >> objects (e.g. DAO.Recordset or ADODB.Recordset). >> 2. Use DAO when: >> a. Connecting to a data store via a LINK (SQL Server, MDB, >> Excel, >> etc.) >> b. within an Access MDB container >> 3. Use ADO when: >> a. ODBC is used to an external data store (SQL Server, MDB, >> Excel, >> etc.) >> b. working with an ADP >> >> >> 1. Charlotte Foust >> 2. John Colby >> 3. William Hindman >> 4. Drew Wutka >> >> Jim >> jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 18:00:18 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 16:00:18 -0700 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: <0JI500B9BLUU4M10@l-daemon> References: <0JI500B9BLUU4M10@l-daemon> Message-ID: My point was that separate references have to be set in order to use that functionality. It isn't built into the ADODB library, while DAO requires only a single reference. We may loosely refer to it all as "ADO" but to anyone not familiar with it, that would be misleading. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 2:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 wdhindman at dejpolsystems.com Wed May 16 18:16:05 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 16 May 2007 19:16:05 -0400 Subject: [AccessD] DAO vs ADO References: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> Message-ID: <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> ...other than some rarely used data typing and access to the jet user roster that MS stuck in Jet4 without updating DAO, I'd be interested in exactly what ADO can do that can't be done with DAO when an mdb is the be ...actually, I can even do the data typing and roster access from DAO without ever referencing the ADO libraries. ...much as it pains the ADO advocates, the simple fact is that MS tried to deprecate DAO in favor of ADO and failed ...ADO is now a terminus object model and DAO has been renamed and given new life as the focus of A2K7 ...anything new ADO wise will be in ADO.Net, not ADO. ...can DAO.Net (or its evil twin) be far behind? William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 16, 2007 11:28 AM Subject: Re: [AccessD] DAO vs ADO > >but since it can do things that ADO cannot this is irrelevant. > > Should be > > but since it can do things that DAO cannot this is irrelevant. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Wednesday, May 16, 2007 11:20 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Yes, except... > >>When using an mdb/Jet BE's DAO is usually much faster and has a better > object model ...the reverse is true for ADO (3). > > 1) When using an MDB, DAO is usually much faster. > 2) ...the reverse is true for ADO is a little vague. > > ADO is never "much faster", but since it can do things that ADO cannot > this > is irrelevant. As for a "better" object model, it is better stated that > it > has an object model optimized for abstracted data containers (if such a > thing is possible). It is tough to say it is optimized for anything since > it is designed to handle whatever is thrown at it. > > Other than that, it is a good summarization. Perhaps it could be placed > up > on our web site? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest what > has been said. I combined all the comments in the hope I would understand > the concepts better. Below is what I gleaned out of the correspondence. > I > do have one more question... When reviewing the References list, how does > one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific library > for MDBs (2). The library has objects for databases, tables, queries, > forms > and reports (documents) modules etc. The library knows all about the > structure of the MDB and allows the programmer to program to the pieces of > an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the > structure of the object which contains the tables / fields (ibid). ADO is > a > more generic data handling model, and it handles that role much better > than > DAO in many cases (1, 4). DAO will run parameter queries using references > on > forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models Access > will use the library first referenced unless specified otherwise (3). The > two models have objects of the same name but different methods and > properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's (3, > 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better > object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). DAO > and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is > DAO since ADO does not understand the MDB structure (2). You can't pass > objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically declare > objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the > variable to the correct object in the correct library and both can be used > "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server to > EXCEL at the drop of a connection string. It is also slower, often times > RADICALLY slower. DAO knows the details of the data store intimately and > can thus optimize its operations whereas ADO cannot. DAO can only be used > for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an > ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the data > store and either ADO or DAO can be used. The link uses ODBC internally, > but > does not use ADO itself. ADO can (in code) directly reference tables out > in > a NON-MDB data store using ODBC whereas DAO cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 cfoust at infostatsystems.com Wed May 16 18:33:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 16 May 2007 16:33:16 -0700 Subject: [AccessD] DAO vs ADO In-Reply-To: <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> References: <20070516152857.5FE55BDB5@smtp-auth.no-ip.com> <003401c79810$2e197ef0$7d7d6c4c@jisshowsbs.local> Message-ID: What version of Access are you using, William? Microsoft in their wisdom built some of both DAO AND ADO into Access 2003, so you can do some things without referencing the libraries directly. Not true of earlier versions, and yes, I'd say DAO.net will be very, very far behind because it's jet specific, which means no managed code. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 16, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO ...other than some rarely used data typing and access to the jet user roster that MS stuck in Jet4 without updating DAO, I'd be interested in exactly what ADO can do that can't be done with DAO when an mdb is the be ...actually, I can even do the data typing and roster access from DAO without ever referencing the ADO libraries. ...much as it pains the ADO advocates, the simple fact is that MS tried to deprecate DAO in favor of ADO and failed ...ADO is now a terminus object model and DAO has been renamed and given new life as the focus of A2K7 ...anything new ADO wise will be in ADO.Net, not ADO. ...can DAO.Net (or its evil twin) be far behind? William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 16, 2007 11:28 AM Subject: Re: [AccessD] DAO vs ADO > >but since it can do things that ADO cannot this is irrelevant. > > Should be > > but since it can do things that DAO cannot this is irrelevant. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Wednesday, May 16, 2007 11:20 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] DAO vs ADO > > Yes, except... > >>When using an mdb/Jet BE's DAO is usually much faster and has a better > object model ...the reverse is true for ADO (3). > > 1) When using an MDB, DAO is usually much faster. > 2) ...the reverse is true for ADO is a little vague. > > ADO is never "much faster", but since it can do things that ADO cannot > this > is irrelevant. As for a "better" object model, it is better stated that > it > has an object model optimized for abstracted data containers (if such a > thing is possible). It is tough to say it is optimized for anything since > it is designed to handle whatever is thrown at it. > > Other than that, it is a good summarization. Perhaps it could be placed > up > on our web site? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson > Sent: Wednesday, May 16, 2007 10:58 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] DAO vs ADO > > Thanks to everyone who replied. > I'm sometimes a little bone-headed and it takes me sometime to digest what > has been said. I combined all the comments in the hope I would understand > the concepts better. Below is what I gleaned out of the correspondence. > I > do have one more question... When reviewing the References list, how does > one know which reference uses ADO vs DAO? > > Thanks, > > 1. The difference between DAO and ADO. > DAO is optimized for the Jet Engine (1) and is a specific library > for MDBs (2). The library has objects for databases, tables, queries, > forms > and reports (documents) modules etc. The library knows all about the > structure of the MDB and allows the programmer to program to the pieces of > an MDB container (1, 2, 4). > > ADO on the other hand is an abstracted library that is used to > manipulate tables, fields and their properties. It does not understand > the > structure of the object which contains the tables / fields (ibid). ADO is > a > more generic data handling model, and it handles that role much better > than > DAO in many cases (1, 4). DAO will run parameter queries using references > on > forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). > > When identical functions are included in both object models Access > will use the library first referenced unless specified otherwise (3). The > two models have objects of the same name but different methods and > properties (1). ADO is more flexible than DAO (4). > > DAO was designed specifically for Jet and ADO around SQL db BE's (3, > 4). When using an mdb/Jet BE's DAO is usually much faster and has a > better > object model ...the reverse is true for ADO (3). > > 1a. Examining VBA code to determine which library is used > There is much confusion because both libraries have some of the same > objects. If an object is not dimensioned (Dim) VB attempts to use the > reference physically closest to the top of the reference list (2, 3). DAO > and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function > interchangeably. If a reference is any part of a mdb structure, then it > is > DAO since ADO does not understand the MDB structure (2). You can't pass > objects back and forth between ADO and DAO (1). > > 1b. Mixing DAO and ADO > They can be mixed but dimension statements must specifically declare > objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the > variable to the correct object in the correct library and both can be used > "at the same time" (2). > > 2. Recommendation for MDBs > ADO is abstracted, allowing one to switch from MDB to SQL Server to > EXCEL at the drop of a connection string. It is also slower, often times > RADICALLY slower. DAO knows the details of the data store intimately and > can thus optimize its operations whereas ADO cannot. DAO can only be used > for an MDB or a LINKED table (2). > > 3. Connecting to data store > When working with an ADP, which is an Access FE directly to SQL > Server without linked tables, ADO is necessary (1, 3). DAO can't handle > an > ADO recordset and vice versa (1). > > If the table is linked, the link handles the connection to the data > store and either ADO or DAO can be used. The link uses ODBC internally, > but > does not use ADO itself. ADO can (in code) directly reference tables out > in > a NON-MDB data store using ODBC whereas DAO cannot (2). > > > Recommendations: > 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar > objects (e.g. DAO.Recordset or ADODB.Recordset). > 2. Use DAO when: > a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, > etc.) > b. within an Access MDB container > 3. Use ADO when: > a. ODBC is used to an external data store (SQL Server, MDB, Excel, > etc.) > b. working with an ADP > > > 1. Charlotte Foust > 2. John Colby > 3. William Hindman > 4. Drew Wutka > > Jim > jhewson at karta.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 accessd at shaw.ca Wed May 16 22:40:16 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 16 May 2007 20:40:16 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <46437DFF.1000303@shaw.ca> Message-ID: <0JI6005KD1YTCO30@l-daemon> Hi Marty and anyone else interested: The solution to the AJAX invalidly encoded return data has been solved. It appears that any data returned from a source must have a header supplied. The caller reads this first and sets the configuration appropriately. But that the first returning data (first line) must set the encoding. In the event of an ASP server page the first line might be something like: Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" ...or PHP like: header("Content-type: text/html; charset=iso-8859-1"); ...or when any type of transaction takes place between a server and client an appropriate header must be supplied. When an ASP.Net server script is serving a PDF file: Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") ..or initiate data Report: response.addheader("Content-Disposition", inline; filename=Report"); ... or set up for receiving XML data: It all seems very obvious now. Hope this helps someone who is thinking of working with AJAX or extensively with Server/Client applications. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 10, 2007 1:18 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question I would have to see the Javascript that is doing this Generally this would be set in the encoding parameter of the XML PI Processing instruction, there are about 30 of these some dependant on the Windows codepage. SQL Server or Access punts it out in UTF-8 even without including a PI. There are ways to transliterate between encodings using ADO streams. It can also be determined by the BOM marker at the start of the file. In your case for Unicode encoding, you would want something like this XML PI http://www.geocities.com/pmpg98_pt/CharacterEncoding.html http://support.microsoft.com/kb/q275883/ XML Encodings MSXML supports all encodings that are supported by Microsoft Internet Explorer. Internet Explorer's support depends on which language packs are installed on the computer; this information is stored under the following registry key: HKEY_CLASSES_ROOT\MIME\Database\Charset xml example ? Jim Lawrence wrote: >OT AJAX > >Hi all: > >This question is totally off-topic but the list members here have an >incredible berth and depth of knowledge and I am sure someone will know or >know where to look. > >For anyone here that has worked with AJAX/XML by default the information >coming back from the server only supports 128 bit ASCII. That is great for >straight English but any other single byte language, 256 bits is a minimum. > >Has anyone ran across a solution or knows where to find a solution? If so >many thanks is advance. (...have researched a number of potential solutions >but have been unable to either get them to work or have them fall-over with >one client or another.) > >Jim > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Thu May 17 00:06:26 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Thu, 17 May 2007 00:06:26 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <001401c7980c$eb974f60$7d7d6c4c@jisshowsbs.local> Message-ID: Cut my brother some slack... ;) Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 16, 2007 5:53 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow ...first you have to tell us when you got promoted from rookie? :) William Hindman ----- Original Message ----- From: "John Clark" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 16, 2007 10:17 AM Subject: Re: [AccessD] Weird Problem...for me anyhow > You know, I am feeling pretty damn silly right about now. This is the > first thing that I would normally try, but I guess I just sort of assumed > (yeah, I know, I know) that they would have done this before calling me, > so I just blew past this option. > > As you probably guessed by now, it worked. Do I get demoted to rookie for > this?! ;o) > > John W. Clark > >>>> "Bryan Carbonnell" 5/16/2007 9:27 AM >>> > On 5/16/07, John Clark wrote: >> I have a user who has setup her own DB...good that she has an interest in >> Access...bad that she THINKS she is capable of doing this. I have had to >> bail her out before, and once again my help has been requested. OK, so >> maybe I got a little chip on my shoulder w/this one ;o) > > > >> I am about to tell them, "Here is your recovered database. You will need >> to re-enter the data you've lost. Sorry!" But I wanted to run it by this >> list first. >> >> Any ideas?! > > Couple of Shots in the dark. > > How about a Compact & Repair? > > Failing that, create a new table with the same layout as the first, > then do an append from the corrupted table to the new table. > > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From ssharkins at setel.com Thu May 17 08:49:41 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 09:49:41 -0400 Subject: [AccessD] OpenArgs Message-ID: <000301c7988a$3a814e50$4db62ad1@SusanOne> Can you use the OpenForm method's OpenArgs argument to set a property for the opened form? I've been trying, but I'm just not getting it right, if it's possible. Seems like I've done this before. Susan H. From ssharkins at setel.com Thu May 17 08:52:50 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 09:52:50 -0400 Subject: [AccessD] NEVERMIND ( OpenArgs) Message-ID: <000401c7988a$a9492380$4db62ad1@SusanOne> Nevermind -- as soon as I sent the question, I figured it out -- that happens to me a lot -- it's like clicking Send somehow unhides the solution. ;) Susan H. Can you use the OpenForm method's OpenArgs argument to set a property for the opened form? I've been trying, but I'm just not getting it right, if it's possible. Seems like I've done this before. Susan H. From erbachs at gmail.com Thu May 17 09:40:29 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 17 May 2007 09:40:29 -0500 Subject: [AccessD] OpenArgs In-Reply-To: <000301c7988a$3a814e50$4db62ad1@SusanOne> References: <000301c7988a$3a814e50$4db62ad1@SusanOne> Message-ID: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. Steve Erbach On 5/17/07, Susan Harkins wrote: > Can you use the OpenForm method's OpenArgs argument to set a property for > the opened form? I've been trying, but I'm just not getting it right, if > it's possible. Seems like I've done this before. > > Susan H. > From erbachs at gmail.com Thu May 17 09:48:03 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 17 May 2007 09:48:03 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> References: <464ADA3F.167F.006B.0@niagaracounty.com> <20070516142755.6DC65BF0B@smtp-auth.no-ip.com> Message-ID: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> John, Like Chuck Connors in the old "Branded" TV show! Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/16/07, jwcolby wrote: > >Do I get demoted to rookie for this? > > OH YEA! You lose one stripe for assuming that the user did anything. You > lose another for not just doing a compact / repair before you try anything > else. And you lose a third stripe for bothering so many people. > > ;-) > > John W. Colby > Colby Consulting From DElam at jenkens.com Thu May 17 10:00:04 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Thu, 17 May 2007 10:00:04 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function From jwcolby at colbyconsulting.com Thu May 17 10:04:54 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:04:54 -0400 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> Message-ID: <20070517150452.C8923BE61@smtp-auth.no-ip.com> LOL, that was the EXACT visual I had as I was writing that, RIPPING the stripe(s) off his arm . You have to be a certain age to even remember that series. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Thursday, May 17, 2007 10:48 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Weird Problem...for me anyhow John, Like Chuck Connors in the old "Branded" TV show! Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/16/07, jwcolby wrote: > >Do I get demoted to rookie for this? > > OH YEA! You lose one stripe for assuming that the user did anything. > You lose another for not just doing a compact / repair before you try > anything else. And you lose a third stripe for bothering so many people. > > ;-) > > John W. Colby > Colby Consulting -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 17 10:06:34 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 17 May 2007 11:06:34 -0400 Subject: [AccessD] DAO vs ADO corrected summarization In-Reply-To: References: <0JI500B9BLUU4M10@l-daemon> Message-ID: <001a01c79894$f60c2000$8abea8c0@XPS> Don't forget JRO as well... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 7:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization My point was that separate references have to be set in order to use that functionality. It isn't built into the ADODB library, while DAO requires only a single reference. We may loosely refer to it all as "ADO" but to anyone not familiar with it, that would be misleading. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 2:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi Charlotte: It is not that I am trying to go off on a tangent but ADOX and JRO are both catalogues for ADO to access Access components. No other process, that I am aware of, even accesses them so they are totally built to extend ADO's functionality within the VBE. I will agree with you as to why anyone would waste their time when DAO is so easy ...but that was not the point. :-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, May 16, 2007 1:58 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization That isn't opening a querydef as understood in DAO, and the ADOX library is a separate criter from ADODB. You need a separate reference for ADOX before you can deal with catalogs, and there are still many things that are just not worth trying in ADO. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:39 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Hi John: Actually ADO can open a query def: Dim cat as New ADOX.Catalogue Dim cmd as ADODB.Command ... Set cmd = cat.Procedures("MyQuery").Command cmd.Parameters("Forms!MyForm!MyField1")=#6/23/2007# ... There are a number of other ways to hook into various controls/catalogues within the FE DB but hardly worth the effort as the defaults work so well. I have never attributed DAO to its internal functions related to the Presentation section of the Access app.; especially when not using the DAO database connections or the MDB database but in that case DAO is MS Access as it is the FE base. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 10:54 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization >There are no operations that DAO can do that ADO can not duplicate but >the reverse is not true. There are no DATA operations that DAO can do... ADO cannot open a query def, manipulate a control on a form in design view, see a property of a form, open the VBE editor etc. There are LOTS of operations that DAO can do that ADO cannot, all having to do with manipulating objects inside of an MDB container. These are of course not DATA operations (per se), they do not have to do with tables / records / fields. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 16, 2007 1:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization I would say DAO is but a subset of the functionality of ADO, highly optimized the MDB. There are no operations that DAO can do that ADO can not duplicate but the reverse is not true. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, May 16, 2007 9:11 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO corrected summarization Jim, I think that saying ADO is more flexible than DAO is like saying pliers are more flexible than a monkey wrench. They are different tools for different purposes. DAO is certainly more flexible if you only need to access an MDB database. It is all you will ever need, and can manipulate ACCESS objects that ADO simply does not understand. OTOH ADO is more flexible if you might need to switch between different types of data stores. DAO cannot easily do that. OTOH, since LINKS can be used for some very specific types of objects, and you can programmatically manipulate Links with DAO, you can create links to certain types of other objects which allows DAO to "manipulate" data in those specific types of objects. You see what I am getting to here. They are just different animals. Access / JET can link to a very specific set of data stores. ADO can "talk to" any type of data store that you can find a driver for. ADO is much more flexible and easier to use if you want to switch quickly and easily from data store to data store. To do that with DAO, you have to muck around with the links, and even then your choices are limited as to where the data can be. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, May 16, 2007 11:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DAO vs ADO corrected summarization 1. The difference between DAO and ADO. DAO is optimized for the Jet Engine (1) and is a specific library for MDBs (2). The library has objects for databases, tables, queries, forms and reports (documents) modules etc. The library knows all about the structure of the MDB and allows the programmer to program to the pieces of an MDB container (1, 2, 4). ADO on the other hand is an abstracted library that is used to manipulate tables, fields and their properties. It does not understand the structure of the object which contains the tables / fields (ibid). ADO is a more generic data handling model, and it handles that role much better than DAO in many cases (1, 4). DAO will run parameter queries using references on forms but ADO will fail (e.g. Forms!frmSomething!cmbSomething) (4). When identical functions are included in both object models Access will use the library first referenced unless specified otherwise (3). The two models have objects of the same name but different methods and properties (1). ADO is more flexible than DAO (4). DAO was designed specifically for Jet and ADO was designed as a universal data connection library (3, 4, 5). ADO manipulates "data" not database objects (1). DAO is an object model optimized for data containers and is designed to handle all objects (2). 1a. Examining VBA code to determine which library is used There is much confusion because both libraries have some of the same objects. If an object is not dimensioned (Dim) VB attempts to use the reference physically closest to the top of the reference list (2, 3). DAO and ADO recordsets are FUNDAMENTALLY DIFFERENT and will not function interchangeably. If a reference is any part of a mdb structure, then it is DAO since ADO does not understand the MDB structure (2). You can't pass objects back and forth between ADO and DAO (1). 1b. Mixing DAO and ADO They can be mixed but dimension statements must specifically declare objects as DAO or ADODB (ADOX) (1, 2). The dimension statement binds the variable to the correct object in the correct library and both can be used "at the same time" (2). 2. Recommendation for MDBs ADO is abstracted, allowing one to switch from MDB to SQL Server to EXCEL at the drop of a connection string. It is also slower, often times RADICALLY slower. DAO knows the details of the data store intimately and can thus optimize its operations whereas ADO cannot. DAO can only be used for an MDB or a LINKED table (2). 3. Connecting to data store When working with an ADP, which is an Access FE directly to SQL Server without linked tables, ADO is necessary (1, 3). DAO can't handle an ADO recordset and vice versa (1). If the table is linked, the link handles the connection to the data store and either ADO or DAO can be used. The link uses ODBC internally, but does not use ADO itself. ADO can (in code) directly reference tables out in a NON-MDB data store using ODBC whereas DAO cannot (2). Recommendations: 1. In VBA dimension (Dim) objects with either DAO or ADODB for similar objects (e.g. DAO.Recordset or ADODB.Recordset). 2. Use DAO when: a. Connecting to a data store via a LINK (SQL Server, MDB, Excel, etc.) b. within an Access MDB container c. References are preceded by "Microsoft DAO Library" (1) 3. Use ADO when: a. ODBC is used to an external data store (SQL Server, MDB, Excel, etc.) b. working with an ADP c. references are preceded by "ActiveX Objects" (1) 1. Charlotte Foust 2. John Colby 3. William Hindman 4. Drew Wutka 5. Jim Dettman Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Wednesday, May 16, 2007 10:33 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DAO vs ADO Other than that, it is a good summarization. Perhaps it could be placed up on our web site? ======I've already sent a message to John on that! ;) We need to make sure it's technically accurate and then a quick edit! 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ssharkins at setel.com Thu May 17 10:10:33 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 17 May 2007 11:10:33 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> References: <000301c7988a$3a814e50$4db62ad1@SusanOne> <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Message-ID: <000801c79895$84dd6780$4db62ad1@SusanOne> I was trying to set a form's DataEntry property to True, but it wasn't working -- numskull... It worked when I remember to add the Forms! identifier. Susan H. Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. From jwcolby at colbyconsulting.com Thu May 17 10:19:39 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:19:39 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705170740q7a029a9cjddcc8448f2d9cd7f@mail.gmail.com> Message-ID: <20070517151937.4243CBDCD@smtp-auth.no-ip.com> U actually wrote a pair of classes to handle this. Of course I then embedded it in my form class but it can run independently. The base class clsOpenArgs (plural) grabs the Openargs string and knows how to parse them. The format is the old format: VarName1=VarVal1;VarName2=VarVal2; The child class OpenArg (singular) just holds the var name / value and is held in a collection in the parent class. In my implementation The parent class can be passed a param telling it to expect to process form properties and as such looks up the VarName in the Properties collection of the form. If found it sets the form.SomeProperty = the var value. IOW, I might pass in: AllowEdits=True;AllowAdds=False;AllowDeletes=False; clsOpenArgs tries to map AllowEdits to a form property. Since it succeeds it sets the form's AllowEdits property to True (the passed in value in this case). It works GREAT, and is an example of how a framework is built up over time as I needed functionality. clsOpenArgs also has a method that allows me to pass in an argument name and returns the argument value. I will send another email with actual code. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Thursday, May 17, 2007 10:40 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OpenArgs Susan, What kinds of things have you tried? I've used OpenArgs to send a string of comma-delimited values. The opening form parses the OpenArgs string to, say, set a value in a field on the form. I use OpenArgs to tell the form being opened what the calling form's name is, or to set a variable in the Open method for the form, etc. There's a decent couple of examples in the Access 2003 Help for the OpenArgs Property. Steve Erbach From jwcolby at colbyconsulting.com Thu May 17 10:20:26 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:20:26 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <000801c79895$84dd6780$4db62ad1@SusanOne> Message-ID: <20070517152024.59A89BE3C@smtp-auth.no-ip.com> The clsOpenArg: Option Compare Database Option Explicit ' 'This class stores one OpenArg ' Private mstrArgName As String Private mvarArgVal As Variant Private mblnIsProperty As Boolean Function mInit(lstrArgName As String, lvarArgVal As Variant) mstrArgName = lstrArgName mvarArgVal = lvarArgVal End Function Function pName() As String pName = mstrArgName End Function Function pVal() As Variant pVal = mvarArgVal End Function Property Let pIsPrp(lmblnIsProperty As Boolean) mblnIsProperty = lmblnIsProperty End Property Property Get pIsPrp() As Boolean pIsPrp = mblnIsProperty End Property John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 17 10:38:36 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 11:38:36 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <000801c79895$84dd6780$4db62ad1@SusanOne> Message-ID: <20070517153834.32F09BCE5@smtp-auth.no-ip.com> '************ 'The following is clsOpenArgs (parent to clsOpenArg) '************ Option Compare Database Option Explicit ' BEHAVIORS: ' ' 'When a form opens, it can accept open args, a text string argument. 'The framework will check for openargs, and if they exist will check 'inside the Openagrs for arguments named the same thing as form properties. 'If such arguments are found, the framework will set the form's property 'equal to the argument value. ' 'I use this specifically to set up normal forms to be DataEntry forms '(only allow new records to be added, not existing records edited) ' 'I decided to encapsulate this functionality in a class to make the OpenArgs 'processing cleanly defined. ' '-------------------------------------------------------------------------- ' Private mfrm As Form 'A form reference passed in Private mstrOpenArgs As String Private mcolOpenArg As Collection '.------------------------------------------------------------------------- 'THESE FUNCTIONS / SUBS ARE USED INTERNALLY TO THE CLASS '*+ Private Init/Terminate Interface Private Sub Class_Initialize() Set mcolOpenArg = New Collection End Sub Private Sub Class_Terminate() Set mcolOpenArg = Nothing End Sub 'INITIALIZE THE CLASS Public Sub mInit(lfrm As Form, _ Optional blnApplyProperties As Boolean = False) Set mfrm = lfrm 'The openargs string might be null On Error Resume Next mstrOpenArgs = mfrm.OpenArgs ParseOpenArgs ' 'The default is false, do not try and apply OpenArgs as form properties 'If the deveopler wants to ' If blnApplyProperties Then ApplyFrmProperties End If End Sub Public Property Get colOpenArgs() As Collection Set colOpenArgs = mcolOpenArg End Property '*+PRIVATE Class function / sub declaration Private Function cOpenArg(strOpenArg As String) As clsOpenArg On Error GoTo Err_cOpenArg Dim intPosEqual As Integer Dim strArgName As String Dim varArgVal As Variant Dim lclsOpenarg As clsOpenArg intPosEqual = InStr(strOpenArg, "=") If intPosEqual > 0 Then strArgName = Left$(strOpenArg, intPosEqual - 1) varArgVal = Right$(strOpenArg, Len(strOpenArg) - intPosEqual) Set lclsOpenarg = New clsOpenArg lclsOpenarg.mInit strArgName, varArgVal Set cOpenArg = lclsOpenarg End If Exit_cOpenArg: On Error Resume Next Exit Function Err_cOpenArg: MsgBox Err.Description, , "Error in Function clsOpenArgs.cOpenArg" Resume Exit_cOpenArg Resume 0 '.FOR TROUBLESHOOTING End Function Private Sub ParseOpenArgs() On Error GoTo Err_ParseOpenArgs Dim lstrOpenArgs As String Dim strOpenArg As String Dim intPos As Integer Dim lclsOpenarg As clsOpenArg lstrOpenArgs = mstrOpenArgs intPos = InStr(lstrOpenArgs, ";") While intPos > 0 strOpenArg = Left$(lstrOpenArgs, intPos - 1) Set lclsOpenarg = cOpenArg(strOpenArg) mcolOpenArg.Add lclsOpenarg, lclsOpenarg.pName lstrOpenArgs = Right$(lstrOpenArgs, Len(lstrOpenArgs) - intPos) intPos = InStr(lstrOpenArgs, ";") Wend Exit_ParseOpenArgs: On Error Resume Next Exit Sub Err_ParseOpenArgs: MsgBox Err.Description, , "Error in Sub clsOpenArgs.ParseOpenArgs" Resume Exit_ParseOpenArgs Resume 0 '.FOR TROUBLESHOOTING End Sub ' 'This function cycles through all the openargs applying them to form properties 'if an argument is named the same as a form property, and the property is writeable '(doesn't require being in design view to set it) then the application of the value 'to the property will be performed and Err will not be set. For these OpenArgs we 'set the IsPrp to true ' 'All of this provides a way for the developer to ppass in openargs to an opening form 'which are then used to set form properties. It is up to the developer to ensure that 'the property is settable, that the value they pass in is valid (correct data type, 'correct value range etc.) ' 'In the end, the only way to know whether a passed in OpenArg is a property is to try 'it and see. If there is no error then the name is a property name, it is settable in 'form view mode, and the value is acceptable. ' Public Sub ApplyFrmProperties() On Error GoTo Err_ApplyFrmProperties Dim lclsOpenarg As clsOpenArg On Error Resume Next For Each lclsOpenarg In mcolOpenArg mfrm.Properties(lclsOpenarg.pName) = lclsOpenarg.pVal lclsOpenarg.pIsPrp = (Err.Number = 0) Err.Clear Next lclsOpenarg Exit_ApplyFrmProperties: Exit Sub Err_ApplyFrmProperties: MsgBox Err.Description, , "Error in Sub clsOpenArgs.ApplyFrmProperties" Resume Exit_ApplyFrmProperties Resume 0 '.FOR TROUBLESHOOTING End Sub '*-PRIVATE Class function / sub declaration '*+PUBLIC Class function / sub declaration Public Function mOpenArg(strArgName As String) As Variant On Error GoTo Err_mOpenArg mOpenArg = mcolOpenArg(strArgName).pVal Exit_mOpenArg: Exit Function Err_mOpenArg: Select Case Err Case 91 MsgBox "mOpenArg " & strArgName & " does not exist" Resume Exit_mOpenArg Case Else MsgBox Err.Description, , "Error in Function clsOpenArgs.mOpenArg" Resume Exit_mOpenArg End Select Resume 0 '.FOR TROUBLESHOOTING End Function '*-PUBLIC Class function / sub declaration The following is the code to use clsOpenArgs in a form: Option Compare Database Option Explicit Dim fclsOpenArgsSimple As clsOpenArgsSimple Private Sub Form_Open(Cancel As Integer) Set fclsOpenArgsSimple = New clsOpenArgsSimple fclsOpenArgsSimple.mInit Me, True Me!txtSomeMessage.Value = fclsOpenArgsSimple.mOpenArg("MsgVal") End Sub NOTICE that I feed in a reference to Me which is the form itself. Thus clsOpenArgs has a pointer to the form and can: 1) Get the openargs directly from the form. 2) Set form properties if it discovers that Openargs are supposed to be used to set form properties. Notice also that I set txtSomeMessage (a control on the form) with a value passed in to the form in a OpenArg named MsgVal. That is how you would use the class for retrieving OpenArg values passed in. The clsOpenArgs gets the OpenArgs string, parses it, gets it ready to use, any you just ask for values from the class: fclsOpenArgsSimple.mOpenArg("SomeVarName") That is all there is to it. Now you too can have an openarg class to automatically process openargs however you might need. BTW, I pulled the code for this from my framework and stripped out the framework specific code from the clsOpenArgs, calling the result clsOpenArgsSimple. Enjoy. John W. Colby Colby Consulting www.ColbyConsulting.com From martyconnelly at shaw.ca Thu May 17 13:58:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 17 May 2007 11:58:28 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <0JI6005KD1YTCO30@l-daemon> References: <0JI6005KD1YTCO30@l-daemon> Message-ID: <464CA5D4.20708@shaw.ca> Just remember for international web apps charset=iso-8859-1 will only work for the Americas and Western Europe, someone from Russia whose Windows codepage is iso-8859-5 will get funny looking characters due to wrong transliteration of characters. So you might want to keep UTF-8 even though 3 bytes are sent for every character representation. I noticed that even Google Desktop Search Engine hadn't taken this into consideration with their returned XML. Jim Lawrence wrote: >Hi Marty and anyone else interested: > >The solution to the AJAX invalidly encoded return data has been solved. It >appears that any data returned from a source must have a header supplied. >The caller reads this first and sets the configuration appropriately. > >But that the first returning data (first line) must set the encoding. In the >event of an ASP server page the first line might be something like: > >Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" > >...or PHP like: >header("Content-type: text/html; charset=iso-8859-1"); > >...or when any type of transaction takes place between a server and client >an appropriate header must be supplied. When an ASP.Net server script is >serving a PDF file: > >Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") > >..or initiate data Report: > >response.addheader("Content-Disposition", inline; filename=Report"); > >... or set up for receiving XML data: > > > >It all seems very obvious now. Hope this helps someone who is thinking of >working with AJAX or extensively with Server/Client applications. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Thu May 17 14:44:04 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 17 May 2007 12:44:04 -0700 Subject: [AccessD] OT AJAX question In-Reply-To: <464CA5D4.20708@shaw.ca> Message-ID: <0JI700ALPAL26OD0@l-daemon> Hi Marty: Thanks for the tip. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 17, 2007 11:58 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT AJAX question Just remember for international web apps charset=iso-8859-1 will only work for the Americas and Western Europe, someone from Russia whose Windows codepage is iso-8859-5 will get funny looking characters due to wrong transliteration of characters. So you might want to keep UTF-8 even though 3 bytes are sent for every character representation. I noticed that even Google Desktop Search Engine hadn't taken this into consideration with their returned XML. Jim Lawrence wrote: >Hi Marty and anyone else interested: > >The solution to the AJAX invalidly encoded return data has been solved. It >appears that any data returned from a source must have a header supplied. >The caller reads this first and sets the configuration appropriately. > >But that the first returning data (first line) must set the encoding. In the >event of an ASP server page the first line might be something like: > >Response.AddHeader "Content-type", "text/html; charset=iso-8859-1" > >...or PHP like: >header("Content-type: text/html; charset=iso-8859-1"); > >...or when any type of transaction takes place between a server and client >an appropriate header must be supplied. When an ASP.Net server script is >serving a PDF file: > >Response.AddHeader("Content-Disposition", "inline; filename=mydocument.pdf") > >..or initiate data Report: > >response.addheader("Content-Disposition", inline; filename=Report"); > >... or set up for receiving XML data: > > > >It all seems very obvious now. Hope this helps someone who is thinking of >working with AJAX or extensively with Server/Client applications. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly >Sent: Thursday, May 10, 2007 1:18 PM >To: Access Developers discussion and problem solving >Subject: Re: [AccessD] OT AJAX question > >I would have to see the Javascript that is doing this > >Generally this would be set in the encoding parameter of the XML >PI Processing instruction, there are about 30 of these some dependant >on the Windows codepage. SQL Server or Access punts it out in UTF-8 even >without >including a PI. There are ways to transliterate between encodings using ADO >streams. It can also be determined by the BOM marker at the start of >the file. > >In your case for Unicode encoding, you would want something like >this XML PI > > > >http://www.geocities.com/pmpg98_pt/CharacterEncoding.html >http://support.microsoft.com/kb/q275883/ > > >XML Encodings > >MSXML supports all encodings that are supported by Microsoft Internet >Explorer. >Internet Explorer's support depends on which language packs are installed >on the computer; this information is stored under the following registry >key: >HKEY_CLASSES_ROOT\MIME\Database\Charset > >xml example > > > > ? > > > > > >Jim Lawrence wrote: > > >>OT AJAX >> >>Hi all: >> >>This question is totally off-topic but the list members here have an >>incredible berth and depth of knowledge and I am sure someone will know or >>know where to look. >> >>For anyone here that has worked with AJAX/XML by default the information >>coming back from the server only supports 128 bit ASCII. That is great for >>straight English but any other single byte language, 256 bits is a minimum. >> >>Has anyone ran across a solution or knows where to find a solution? If so >>many thanks is advance. (...have researched a number of potential solutions >>but have been unable to either get them to work or have them fall-over with >>one client or another.) >> >>Jim >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Thu May 17 16:13:14 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 17 May 2007 14:13:14 -0700 Subject: [AccessD] OT DBA web site update. In-Reply-To: <0JI700ALPAL26OD0@l-daemon> Message-ID: <0JI700GLFEPOUBC0@l-daemon> Hi All: John Colby has provided a full demo, that uses a Class that saves and retrieving variables, sort of like a Desktop cookie file. The link can be accessed from the DBA front page. (http://www.databaseadvisors.com) Jim From jwcolby at colbyconsulting.com Thu May 17 16:30:33 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 17 May 2007 17:30:33 -0400 Subject: [AccessD] OT DBA web site update. In-Reply-To: <0JI700GLFEPOUBC0@l-daemon> Message-ID: <20070517213031.30166BF21@smtp-auth.no-ip.com> This is a demo of the form OpenArgs. The demo provides a form which opens another form (displaying state data), passing the state form openargs. The state form uses a class to process the openargs and use them. It uses passed in openargs to set form properties Caption, AllowEdits, AllowAdditions and AllowDeletions, and also uses a passed in argument to set the contents of a label. In the first form you can set controls which are then passed to the state form in an openargs string. You can view the code in the first form to see how I assemble the openargs string, and you can look in the second form to see how the form uses dimensions, initializes and uses clsOpenArgs to process the OpenArgs string. Any questions please feel free to use this forum to discuss. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, May 17, 2007 5:13 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT DBA web site update. Hi All: John Colby has provided a full demo, that uses a Class that saves and retrieving variables, sort of like a Desktop cookie file. The link can be accessed from the DBA front page. (http://www.databaseadvisors.com) Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 17 17:45:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 17 May 2007 15:45:42 -0700 Subject: [AccessD] Revert from Office Ribbon to Classic Menus In-Reply-To: <20070517213031.30166BF21@smtp-auth.no-ip.com> References: <20070517213031.30166BF21@smtp-auth.no-ip.com> Message-ID: <464CDB16.5090004@shaw.ca> For those of you who don't want to switch to Office 2007 Ribbon Menus immediately. Here is a $30 Office Addin that uses old Office 2003 style menus. I haven't tried it, I prefer the keyboard awash in tears http://news.office-watch.com/t/n.aspx?a=502 -- Marty Connelly Victoria, B.C. Canada From Jim.Hale at FleetPride.com Thu May 17 16:38:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Thu, 17 May 2007 16:38:09 -0500 Subject: [AccessD] Exporting From Access to Excel In-Reply-To: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> Message-ID: If you are opening an Excel .xlt template file you do not need to do a file copy. The template will open as "yourfilename1.xls".You only need to save it: appExcel.ActiveWorkbook.SaveAs FileName:=strFileSave appExcel.ActiveWorkbook.Close SaveChanges:=True Where strFilesave is the name you wish to save it under. Are you sure yout template has 3 worksheets? I suspect worksheet(3) doesn't exist in the workbook so you are erroring out. Also, you may still have excel orphan instances from previous runs (check task master) since I don't see appexcel.Quit Set appexcel = Nothing Also, you might try appExcel.Range("C4").CopyFromRecordset rst To do your copying rather than going row by row. HTH Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Thursday, May 17, 2007 10:00 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From john at winhaven.net Thu May 17 22:38:39 2007 From: john at winhaven.net (John Bartow) Date: Thu, 17 May 2007 22:38:39 -0500 Subject: [AccessD] Access app using Outlook contacts Message-ID: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Has anyone used Outlook to hold all of the contact information needed in an access app? If so any pointers would be appreciated. BTW version 2003 From adtp at hotmail.com Fri May 18 00:27:08 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Fri, 18 May 2007 10:57:08 +0530 Subject: [AccessD] Exporting From Access to Excel References: <573E90481C9F004C9E598D3A5A9DCDA013F9D5@jgexch1.jenkens.com> Message-ID: Debbie, Two of my sample db's mentioned below, might be of interest to you: (a) ExportAccessToExcelMultiSheets (b) ExportAccessToExcelAsPivotTable Both samples (in Access 2000 file format) are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Sample (b), is not restricted to pivot tables alone and might be found more convenient if you do not wish to install & register a browser control. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Thursday, May 17, 2007 20:30 Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function From andy at minstersystems.co.uk Fri May 18 01:22:38 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Fri, 18 May 2007 07:22:38 +0100 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <00f701c79914$f1c98520$d787d355@minster33c3r25> No John but I've used Access as the primary store for contacts and overnight populated an Outlook address book from Access. I can help you there if you go that way. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Bartow > Sent: 18 May 2007 04:39 > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Access app using Outlook contacts > > > Has anyone used Outlook to hold all of the contact > information needed in an access app? > > If so any pointers would be appreciated. > > BTW version 2003 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From wdhindman at dejpolsystems.com Fri May 18 07:24:39 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 18 May 2007 08:24:39 -0400 Subject: [AccessD] Access app using Outlook contacts References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. William Hindman ----- Original Message ----- From: "John Bartow" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 17, 2007 11:38 PM Subject: [AccessD] Access app using Outlook contacts > Has anyone used Outlook to hold all of the contact information needed in > an > access app? > > If so any pointers would be appreciated. > > BTW version 2003 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From john at winhaven.net Fri May 18 08:26:22 2007 From: john at winhaven.net (John Bartow) Date: Fri, 18 May 2007 08:26:22 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00f701c79914$f1c98520$d787d355@minster33c3r25> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <00f701c79914$f1c98520$d787d355@minster33c3r25> Message-ID: <019201c79950$20e83230$6402a8c0@ScuzzPaq> Andy, Thanks, no Access data at all at this point. Does Outlook maintain a unique ID for each contact that can be used to reference it (as we would do with a PK)? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Friday, May 18, 2007 1:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Access app using Outlook contacts No John but I've used Access as the primary store for contacts and overnight populated an Outlook address book from Access. I can help you there if you go that way. From jwcolby at colbyconsulting.com Fri May 18 08:34:04 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 09:34:04 -0400 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> Message-ID: <20070518133402.81440BBFB@smtp-auth.no-ip.com> William, I think that is unfair. Sometimes our customers flagellate us! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Friday, May 18, 2007 8:25 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. William Hindman From jwcolby at colbyconsulting.com Fri May 18 08:34:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 09:34:15 -0400 Subject: [AccessD] OT: FYI-System Transfer timing Message-ID: <20070518133413.A28F8BF0A@smtp-auth.no-ip.com> I just thought you might be interested in some numbers, transferring a large file from system to system on a network. Two identical computers, 3.8g X2 AMD proc systems, running Windows 2003. Both systems run Comodo personal firewall (software firewall) with specific rules allowing transfers from/to any other computer within my internal network. Both systems use an Areca 1220 dedicated RAID controller, and both systems use Seagate 7200.10 drives in the arrays. The "From" system has a Raid6 Array, the "To" system has a Raid 5 array. There is a gigabit switch between the systems. I am transferring a 120 gbyte SQL Server database file (dbf). When the transfer started it "settled down" after a couple of seconds saying it would take 48 minutes to transfer the file, which indicates about 2.5 gigabytes / minute, 42 mb / second. Testing has shown the read speed to be about 450 mbyte / sec for these arrays, so that is most likely the write speed of the Raid5 destination array. Write speed for these arrays is just slightly worse than the write speed of any single disk. Using task manager to simply view the network usage, the network seems to be using about 40% capacity on average. Again, using task manager, the CPU usage for the two cores shows core one swinging between 0 and 40%with a rough average around 20%. Core two is swinging between 60% and 80%. When the work is steady (and there are places where both cores, but particularly core 2 varies wildly), the "average" is reported as around 40%, as displayed in the CPU Usage. All of this usage being on the transmitting system. The task reporting most usage time is system idle, then explorer. System two (the receiving system) shows almost no Core 1 usage and Core 2 swinging wildly, but again averaging around 40% or so usage, both cores combined, per the CPU Usage display. John W. Colby Colby Consulting www.ColbyConsulting.com From john at winhaven.net Fri May 18 08:36:44 2007 From: john at winhaven.net (John Bartow) Date: Fri, 18 May 2007 08:36:44 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <001901c79947$81c33450$7d7d6c4c@jisshowsbs.local> Message-ID: <019901c79951$93632ee0$6402a8c0@ScuzzPaq> LOL! I never thought I'd go down this road - I may just be having a nightmare... but I'll try anything once; cha-cha-cha! ;o) Thanks WH, I'll check it out Helen's info. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Friday, May 18, 2007 7:25 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts JB ...if you insist on unnecessarily flagellating yourself, the best resource I know of for Access to/from Outlook is http://www.helenfeddema.com/ From jwcolby at colbyconsulting.com Fri May 18 09:10:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 10:10:14 -0400 Subject: [AccessD] OTR: Friday Humor Message-ID: <20070518141012.96780BD81@smtp-auth.no-ip.com> NEVER CHOKE IN A RESTAURANT IN THE SOUTH Two hillbillies walk into a Dairy Queen. While having a couple of Blizzards, they talk privately about their moonshine operation. Suddenly, a woman at a nearby table, eating a chicken sandwich, begins to cough. After a while, it becomes apparent that she is in real distress. One of the hillbillies looks at her and says, "Kin ya swallar?" The woman shakes her head no. "kin ya breathe?" The woman begins to turn blue, eyes widen and shakes her head, No. The hillbilly strolls over to the woman, lifts up the back of her dress, yanks down her drawers and quickly gives her right butt cheek a long lick with his tongue. The woman is so shocked that she has a violent spasm and the obstruction flies out of her mouth. She begins to breathe again. The hillbilly ambles smugly back to his table. His buddy says, "Ya know, I'd heerd of that there "Hind Lick Maneuver", But I ain't never seed nobody do it. John W. Colby Colby Consulting www.ColbyConsulting.com From DElam at jenkens.com Fri May 18 09:15:00 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Fri, 18 May 2007 09:15:00 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9DD@jgexch1.jenkens.com> Definitely getting 3 worksheets in the good document, just like I wanted. I will give this a try. Debbie -----Original Message----- From: Hale, Jim [mailto:Jim.Hale at fleetpride.com] Sent: Thursday, May 17, 2007 4:38 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Exporting From Access to Excel If you are opening an Excel .xlt template file you do not need to do a file copy. The template will open as "yourfilename1.xls".You only need to save it: appExcel.ActiveWorkbook.SaveAs FileName:=strFileSave appExcel.ActiveWorkbook.Close SaveChanges:=True Where strFilesave is the name you wish to save it under. Are you sure yout template has 3 worksheets? I suspect worksheet(3) doesn't exist in the workbook so you are erroring out. Also, you may still have excel orphan instances from previous runs (check task master) since I don't see appexcel.Quit Set appexcel = Nothing Also, you might try appExcel.Range("C4").CopyFromRecordset rst To do your copying rather than going row by row. HTH Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Thursday, May 17, 2007 10:00 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DElam at jenkens.com Fri May 18 09:16:35 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Fri, 18 May 2007 09:16:35 -0500 Subject: [AccessD] Exporting From Access to Excel Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9DE@jgexch1.jenkens.com> Thank you -----Original Message----- From: A.D.TEJPAL [mailto:adtp at hotmail.com] Sent: Friday, May 18, 2007 12:27 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Exporting From Access to Excel Debbie, Two of my sample db's mentioned below, might be of interest to you: (a) ExportAccessToExcelMultiSheets (b) ExportAccessToExcelAsPivotTable Both samples (in Access 2000 file format) are available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Sample (b), is not restricted to pivot tables alone and might be found more convenient if you do not wish to install & register a browser control. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Thursday, May 17, 2007 20:30 Subject: [AccessD] Exporting From Access to Excel I found a bit of code that allows me to export to specific worksheets in Excel. The intent being that I would have a 3 worksheet export of a report. The code works very well except for one little snag at the end. I get a runtime error 7952, you made an illegal function call, and the resulting spreadsheet is the same size as the template. When I open the worksheet, it actually opens 2 of them, one that has only the template info in it that has the file name I designated, and a second underneath that is correct and apparently not saved? I can save this but it generally will not save under the filename I designated. I tried adding a save command to the end of the code, but it simply says I already have a file with that name do I want to replace. Clicking yes is ignored and it brings up a dialog to save it as [filename]1.xls. Once again [filename].xls is blank except for template included items and the [filename]1.xls comes out like I planned. This one does not seem to have the full file hiding in it either. This is a lot better than having the "good" file hide inside the blank one, but still not really where I would like it to be for less tech savvy users. Here is the code: Public Function ExportRequestHardCode(strTemplate As String, strOutputFile As String) As String On Error GoTo err_Handler ' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet Dim sTemplate As String Dim sTempFile As String Dim sOutput As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim sSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer Const cTabTwo As Byte = 2 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1 DoCmd.Hourglass True ' set to break on all errors Application.SetOption "Error Trapping", 0 ' start with a clean file built from the template file sTemplate = CurrentProject.Path & strTemplate sOutput = strOutputFile 'If Dir(sOutput) <> "" Then Kill sOutput FileCopy strTemplate, sOutput ' Create the Excel Applicaiton, Workbook and Worksheet and Database object Set appExcel = Excel.Application Set wbk = appExcel.Workbooks.Open(sOutput) StartofTab1: Set wks = appExcel.Worksheets(1) sSQL = "AAAllConsolidatedUnionOlderThan2K" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab2: Set wks = appExcel.Worksheets(2) sSQL = "AAAllConsolidatedUnionBetween2Kand06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." Set rst = Nothing Set dbs = Nothing StartofTab3: Set wks = appExcel.Worksheets(3) sSQL = "AAAllConsolidatedUnionAfter06" Set dbs = currentdb Set rst = dbs.OpenRecordset(sSQL, dbOpenSnapshot) ' For this template, the data must be placed on the 4th row, third column. ' (these values are set to constants for easy future modifications) iCol = 1 iRow = 2 If Not rst.BOF Then rst.MoveFirst Do Until rst.EOF iFld = 0 lRecords = lRecords + 1 'Me.lblMsg.Caption = "Exporting record #" & lRecords & " to " & strTemplate 'Me.Repaint For iCol = 1 To 1 + (rst.Fields.Count - 1) wks.Cells(iRow, iCol) = rst.Fields(iFld) If InStr(1, rst.Fields(iFld).Name, "Date") > 0 Then wks.Cells(iRow, iCol).NumberFormat = "mm/dd/yyyy" End If wks.Cells(iRow, iCol).WrapText = True iFld = iFld + 1 Next wks.Rows(iRow).EntireRow.AutoFit iRow = iRow + 1 rst.MoveNext Loop 'ExportRequest = "Total of " & lRecords & " rows processed." 'Me.lblMsg.Caption = "Total of " & lRecords & " rows processed." exit_Here: ' Cleanup all objects (resume next on errors) On Error Resume Next appExcel.SaveWorkspace (sOutput) Set wks = Nothing Set wbk = Nothing Set appExcel = Nothing Set rst = Nothing Set dbs = Nothing DoCmd.Hourglass False Exit Function err_Handler: 'ExportRequest = Err.Description 'Me.lblMsg.Caption = Err.Description MsgBox Err.Description, vbOKOnly Resume exit_Here End Function -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 18 10:06:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:06:18 -0400 Subject: [AccessD] Select every nth record Message-ID: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From cfoust at infostatsystems.com Fri May 18 10:26:06 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 18 May 2007 08:26:06 -0700 Subject: [AccessD] Select every nth record In-Reply-To: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: Since order is irrelevant, why not use the TOP 50 %? Are you trying to randomize? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 8:06 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From markamatte at hotmail.com Fri May 18 10:35:47 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 15:35:47 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of 40K >records and I want to split it into two tables, each containing every other >record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From jwcolby at colbyconsulting.com Fri May 18 10:42:32 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:42:32 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518154230.960FCBE0A@smtp-auth.no-ip.com> My client specified "every other record". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 18, 2007 11:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Select every nth record Since order is irrelevant, why not use the TOP 50 %? Are you trying to randomize? Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 8:06 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Fri May 18 10:53:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 11:53:14 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Thanks for the suggestion. I am trying to figure out something generic here. What often happens (not in this case) is my client says "give me a count where...". When the count comes up as 523,417 they will then say, give me every nth record in order to select 200,000 records. I have to track the exact records selected since they may come back later and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. I do not know how to even approach such a problem with SQL alone. The "exactly 200K records" is the killer for me. I think I can use a TOP (200000) ORDER BY NEWID(), but I still have to track the "already used" - probably a simple SELECTED field. In THIS SPECIFIC CASE, the client said "every other record" which has a specific meaning. I am asking him if he really means that or not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 11:36 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open themwith Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_protection_0507 From Gustav at cactus.dk Fri May 18 11:56:48 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 18 May 2007 18:56:48 +0200 Subject: [AccessD] Select every nth record Message-ID: Hi John Extending Mark's idea, add the primary keys of the client's records to a selection table of yours which also has a sequential autonumber and a field for selected. When records are "drawn", update field Selected to True. Now, when new records arrive, append these to your table and then select every second record by joining the client's table with yours where Selected = False and your autonumber Id Mod 2 = 0 and (perhaps) where Id > the largest Id of the last run. /gustav >>> jwcolby at colbyconsulting.com 18-05-2007 17:53 >>> Thanks for the suggestion. I am trying to figure out something generic here. What often happens (not in this case) is my client says "give me a count where...". When the count comes up as 523,417 they will then say, give me every nth record in order to select 200,000 records. I have to track the exact records selected since they may come back later and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. I do not know how to even approach such a problem with SQL alone. The "exactly 200K records" is the killer for me. I think I can use a TOP (200000) ORDER BY NEWID(), but I still have to track the "already used" - probably a simple SELECTED field. In THIS SPECIFIC CASE, the client said "every other record" which has a specific meaning. I am asking him if he really means that or not. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 11:36 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, I do something similar to get duplex printing of postcards. There is a sample db on the DBA website under the 2002 conference page. Basically I create an autonumber in a query using the function MyAutoCtr() ...(module below)...Then I filter out the even number records using the MOD function. Hope that helps...let me know if you have any questions. Thanks, Mark A. Matte ************Module*************** Global lngTableCounter As Long Function MyAutoCtr(prmAny) 'Trick is to pass a field from the input table(s) so that function called for each record 'otherwise Access thinks that the function will always return the same value and 'only calls it once, and every output record gets the same value MyAutoCtr = lngTableCounter lngTableCounter = lngTableCounter + 1 End Function ************Module*************** >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:06:18 -0400 > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com From wdhindman at dejpolsystems.com Fri May 18 12:00:45 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 18 May 2007 13:00:45 -0400 Subject: [AccessD] Access app using Outlook contacts References: <20070518133402.81440BBFB@smtp-auth.no-ip.com> Message-ID: <002701c7996e$13ee5ff0$7d7d6c4c@jisshowsbs.local> ...yours maybe ...mine get Colbyized the minute they break out the whips ...makes life so much simpler. William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Friday, May 18, 2007 9:34 AM Subject: Re: [AccessD] Access app using Outlook contacts > William, > > I think that is unfair. Sometimes our customers flagellate us! > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman > Sent: Friday, May 18, 2007 8:25 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Access app using Outlook contacts > > JB > ...if you insist on unnecessarily flagellating yourself, the best resource > I > know of for Access to/from Outlook is http://www.helenfeddema.com/ ...hth. > William Hindman > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From markamatte at hotmail.com Fri May 18 12:08:45 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 17:08:45 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Message-ID: John, If I were going to attempt this in SQL Server...I would probably use a cursor in query analyzer...determine if the current record count is divisable by your specified nth number...if so call an SP to write that record. In access I would use the function below to get a sequential record number...and "[record Number] MOD nth" in the query and filter for 0. This would get you every nth record. Example Every 4th record upto 1000 cases ********SQL******* SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); ******************* I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I joined tblText back to tblPurvi...and showed that it in fact chose every 4th record. MyAutoCtr is the only non native function...and if you have a PK that is sequential...you don't even need MyAutoCtr...just the filtered MOD nth. Good luck, Mark A. Matte >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:53:14 -0400 > >Thanks for the suggestion. I am trying to figure out something generic >here. What often happens (not in this case) is my client says "give me a >count where...". When the count comes up as 523,417 they will then say, >give me every nth record in order to select 200,000 records. I have to >track the exact records selected since they may come back later and say, >every Nth record for another 200,000 NOT IN the first 200,000. Etc. > >I do not know how to even approach such a problem with SQL alone. The >"exactly 200K records" is the killer for me. I think I can use a TOP >(200000) ORDER BY NEWID(), but I still have to track the "already used" - >probably a simple SELECTED field. > >In THIS SPECIFIC CASE, the client said "every other record" which has a >specific meaning. I am asking him if he really means that or not. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 11:36 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >I do something similar to get duplex printing of postcards. There is a >sample db on the DBA website under the 2002 conference page. > >Basically I create an autonumber in a query using the function MyAutoCtr() >...(module below)...Then I filter out the even number records using the MOD >function. > >Hope that helps...let me know if you have any questions. > >Thanks, > >Mark A. Matte > > >************Module*************** >Global lngTableCounter As Long > >Function MyAutoCtr(prmAny) >'Trick is to pass a field from the input table(s) so that function called >for each record 'otherwise Access thinks that the function will always >return the same value and 'only calls it once, and every output record gets >the same value MyAutoCtr = lngTableCounter lngTableCounter = >lngTableCounter >+ 1 End Function >************Module*************** > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > >Is there a SQL statement that will do this directly? I have a table of > >40K records and I want to split it into two tables, each containing > >every other record of the 40K record table. > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Catch suspicious messages before you open themwith Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_protection_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From jwcolby at colbyconsulting.com Fri May 18 12:24:05 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 13:24:05 -0400 Subject: [AccessD] Select every nth record In-Reply-To: Message-ID: <20070518172403.CC5FBBDC5@smtp-auth.no-ip.com> That kind of thing works the first time but will it work the second time? You take out the 4th and 8th record leaving 1,2,3,5,6,7,9 Not using a mod on those will not leave no remainder because all the ones evenly divisible by 4 are gone. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Friday, May 18, 2007 1:09 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record John, If I were going to attempt this in SQL Server...I would probably use a cursor in query analyzer...determine if the current record count is divisable by your specified nth number...if so call an SP to write that record. In access I would use the function below to get a sequential record number...and "[record Number] MOD nth" in the query and filter for 0. This would get you every nth record. Example Every 4th record upto 1000 cases ********SQL******* SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); ******************* I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I joined tblText back to tblPurvi...and showed that it in fact chose every 4th record. MyAutoCtr is the only non native function...and if you have a PK that is sequential...you don't even need MyAutoCtr...just the filtered MOD nth. Good luck, Mark A. Matte >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 11:53:14 -0400 > >Thanks for the suggestion. I am trying to figure out something generic >here. What often happens (not in this case) is my client says "give me >a count where...". When the count comes up as 523,417 they will then >say, give me every nth record in order to select 200,000 records. I >have to track the exact records selected since they may come back later >and say, every Nth record for another 200,000 NOT IN the first 200,000. Etc. > >I do not know how to even approach such a problem with SQL alone. The >"exactly 200K records" is the killer for me. I think I can use a TOP >(200000) ORDER BY NEWID(), but I still have to track the "already used" >- probably a simple SELECTED field. > >In THIS SPECIFIC CASE, the client said "every other record" which has a >specific meaning. I am asking him if he really means that or not. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 11:36 AM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >I do something similar to get duplex printing of postcards. There is a >sample db on the DBA website under the 2002 conference page. > >Basically I create an autonumber in a query using the function >MyAutoCtr() ...(module below)...Then I filter out the even number >records using the MOD function. > >Hope that helps...let me know if you have any questions. > >Thanks, > >Mark A. Matte > > >************Module*************** >Global lngTableCounter As Long > >Function MyAutoCtr(prmAny) >'Trick is to pass a field from the input table(s) so that function >called for each record 'otherwise Access thinks that the function will >always return the same value and 'only calls it once, and every output >record gets the same value MyAutoCtr = lngTableCounter lngTableCounter >= lngTableCounter >+ 1 End Function >************Module*************** > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > >Is there a SQL statement that will do this directly? I have a table > >of 40K records and I want to split it into two tables, each > >containing every other record of the 40K record table. > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >Catch suspicious messages before you open themwith Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_mig >ratio >n_HM_mini_protection_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storageget 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_2G_0507 From fuller.artful at gmail.com Fri May 18 12:30:42 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 18 May 2007 13:30:42 -0400 Subject: [AccessD] Revert from Office Ribbon to Classic Menus In-Reply-To: <464CDB16.5090004@shaw.ca> References: <20070517213031.30166BF21@smtp-auth.no-ip.com> <464CDB16.5090004@shaw.ca> Message-ID: <29f585dd0705181030p6b44b8c7uec2b7e665632bcf5@mail.gmail.com> It took me about 15 minutes to figure out how to open a file. But it must say something about our age or habits. I hear newbies raving about how cool the ribbons are. On 5/17/07, MartyConnelly wrote: > > For those of you who don't want to switch to Office 2007 Ribbon Menus > immediately. Here is a $30 Office Addin that uses old Office 2003 style > menus. > I haven't tried it, I prefer the keyboard awash in tears > > http://news.office-watch.com/t/n.aspx?a=502 > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Fri May 18 12:37:19 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 18 May 2007 10:37:19 -0700 Subject: [AccessD] OT DBA Library contribution In-Reply-To: Message-ID: <0JI800DO5ZFEFPG0@l-daemon> OT Hi All: A new contribution of a full Windows API library along with samples has been added to the DBA web site Reference List. (http://www.databaseadvisors.com) If anyone would have access to or knowledge where to acquire a full .Net / FrameWork or Mono schema object, method and properties lists or links, please pass the info along. I doubt whether this is at all proprietary but have not had a chance to do further research. Many thanks in advance. Jim From Gustav at cactus.dk Fri May 18 12:43:05 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Fri, 18 May 2007 19:43:05 +0200 Subject: [AccessD] Revert from Office Ribbon to Classic Menus Message-ID: Hi Arthur It took me a couple of hours to figure out and realize that most serious or regular tasks now origin from the stupid Office splat, sorry "button". I believe the golden mantra for UI design is never to make the user feel stupid. Well ... /gustav >>> fuller.artful at gmail.com 18-05-2007 19:30 >>> It took me about 15 minutes to figure out how to open a file. But it must say something about our age or habits. I hear newbies raving about how cool the ribbons are. On 5/17/07, MartyConnelly wrote: > > For those of you who don't want to switch to Office 2007 Ribbon Menus > immediately. Here is a $30 Office Addin that uses old Office 2003 style > menus. > I haven't tried it, I prefer the keyboard awash in tears > > http://news.office-watch.com/t/n.aspx?a=502 > > -- > Marty Connelly > Victoria, B.C. > Canada From markamatte at hotmail.com Fri May 18 12:53:00 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 18 May 2007 17:53:00 +0000 Subject: [AccessD] Select every nth record In-Reply-To: <20070518172403.CC5FBBDC5@smtp-auth.no-ip.com> Message-ID: Sorry, I forgot to mention that you have to reset MyAutoCtr using lngTableCounter = 1 after each use. The function renumbers everytime...so if you have removed every 4th record...next time you run it, it will number according to whats there...not what the number used to be. Mark >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] Select every nth record >Date: Fri, 18 May 2007 13:24:05 -0400 > >That kind of thing works the first time but will it work the second time? > >You take out the 4th and 8th record leaving 1,2,3,5,6,7,9 Not using a mod >on those will not leave no remainder because all the ones evenly divisible >by 4 are gone. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Friday, May 18, 2007 1:09 PM >To: accessd at databaseadvisors.com >Subject: Re: [AccessD] Select every nth record > >John, > >If I were going to attempt this in SQL Server...I would probably use a >cursor in query analyzer...determine if the current record count is >divisable by your specified nth number...if so call an SP to write that >record. > >In access I would use the function below to get a sequential record >number...and "[record Number] MOD nth" in the query and filter for 0. This >would get you every nth record. > >Example Every 4th record upto 1000 cases >********SQL******* >SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest FROM >tblPurvi WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); >******************* > >I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I >joined tblText back to tblPurvi...and showed that it in fact chose every >4th >record. MyAutoCtr is the only non native function...and if you have a PK >that is sequential...you don't even need MyAutoCtr...just the filtered MOD >nth. > >Good luck, > >Mark A. Matte > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:53:14 -0400 > > > >Thanks for the suggestion. I am trying to figure out something generic > >here. What often happens (not in this case) is my client says "give me > >a count where...". When the count comes up as 523,417 they will then > >say, give me every nth record in order to select 200,000 records. I > >have to track the exact records selected since they may come back later > >and say, every Nth record for another 200,000 NOT IN the first 200,000. >Etc. > > > >I do not know how to even approach such a problem with SQL alone. The > >"exactly 200K records" is the killer for me. I think I can use a TOP > >(200000) ORDER BY NEWID(), but I still have to track the "already used" > >- probably a simple SELECTED field. > > > >In THIS SPECIFIC CASE, the client said "every other record" which has a > >specific meaning. I am asking him if he really means that or not. > > > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Friday, May 18, 2007 11:36 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Select every nth record > > > >John, > > > >I do something similar to get duplex printing of postcards. There is a > >sample db on the DBA website under the 2002 conference page. > > > >Basically I create an autonumber in a query using the function > >MyAutoCtr() ...(module below)...Then I filter out the even number > >records using the MOD function. > > > >Hope that helps...let me know if you have any questions. > > > >Thanks, > > > >Mark A. Matte > > > > > >************Module*************** > >Global lngTableCounter As Long > > > >Function MyAutoCtr(prmAny) > >'Trick is to pass a field from the input table(s) so that function > >called for each record 'otherwise Access thinks that the function will > >always return the same value and 'only calls it once, and every output > >record gets the same value MyAutoCtr = lngTableCounter lngTableCounter > >= lngTableCounter > >+ 1 End Function > >************Module*************** > > > > > > >From: "jwcolby" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "'Access Developers discussion and problem > > >solving'" > > >Subject: [AccessD] Select every nth record > > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > > > >Is there a SQL statement that will do this directly? I have a table > > >of 40K records and I want to split it into two tables, each > > >containing every other record of the 40K record table. > > > > > >John W. Colby > > >Colby Consulting > > >www.ColbyConsulting.com > > > > > >-- > > >AccessD mailing list > > >AccessD at databaseadvisors.com > > >http://databaseadvisors.com/mailman/listinfo/accessd > > >Website: http://www.databaseadvisors.com > > > >_________________________________________________________________ > >Catch suspicious messages before you open themwith Windows Live Hotmail. > >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_mig > >ratio > >n_HM_mini_protection_0507 > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > >_________________________________________________________________ >More photos, more messages, more storageget 2GB with Windows Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_2G_0507 > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From fuller.artful at gmail.com Fri May 18 13:03:23 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 18 May 2007 14:03:23 -0400 Subject: [AccessD] Select every nth record In-Reply-To: References: <20070518155312.9F362BD81@smtp-auth.no-ip.com> Message-ID: <29f585dd0705181103i4586125dt511166986eb34223@mail.gmail.com> That will work fine in SQL too, as long as the PKs are sequential. Arthur On 5/18/07, Mark A Matte wrote: > > John, > > If I were going to attempt this in SQL Server...I would probably use a > cursor in query analyzer...determine if the current record count is > divisable by your specified nth number...if so call an SP to write that > record. > > In access I would use the function below to get a sequential record > number...and "[record Number] MOD nth" in the query and filter for > 0. This > would get you every nth record. > > Example Every 4th record upto 1000 cases > ********SQL******* > SELECT TOP 1000 tblPurvi.case_id, tblPurvi.case_type INTO tblTest > FROM tblPurvi > WHERE (((MyAutoCtr([case_id]) Mod 4)=0)); > ******************* > > I had 8000 records in tblPurvi...I ran this...gave me 1000 records...I > joined tblText back to tblPurvi...and showed that it in fact chose every > 4th > record. MyAutoCtr is the only non native function...and if you have a PK > that is sequential...you don't even need MyAutoCtr...just the filtered MOD > nth. > > Good luck, > > Mark A. Matte > > > >From: "jwcolby" > >Reply-To: Access Developers discussion and problem > >solving > >To: "'Access Developers discussion and problem > >solving'" > >Subject: Re: [AccessD] Select every nth record > >Date: Fri, 18 May 2007 11:53:14 -0400 > > > >Thanks for the suggestion. I am trying to figure out something generic > >here. What often happens (not in this case) is my client says "give me a > >count where...". When the count comes up as 523,417 they will then say, > >give me every nth record in order to select 200,000 records. I have to > >track the exact records selected since they may come back later and say, > >every Nth record for another 200,000 NOT IN the first 200,000. Etc. > > > >I do not know how to even approach such a problem with SQL alone. The > >"exactly 200K records" is the killer for me. I think I can use a TOP > >(200000) ORDER BY NEWID(), but I still have to track the "already used" - > >probably a simple SELECTED field. > > > >In THIS SPECIFIC CASE, the client said "every other record" which has a > >specific meaning. I am asking him if he really means that or not. > > > > > >John W. Colby > >Colby Consulting > >www.ColbyConsulting.com > >-----Original Message----- > >From: accessd-bounces at databaseadvisors.com > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte > >Sent: Friday, May 18, 2007 11:36 AM > >To: accessd at databaseadvisors.com > >Subject: Re: [AccessD] Select every nth record > > > >John, > > > >I do something similar to get duplex printing of postcards. There is a > >sample db on the DBA website under the 2002 conference page. > > > >Basically I create an autonumber in a query using the function > MyAutoCtr() > >...(module below)...Then I filter out the even number records using the > MOD > >function. > > > >Hope that helps...let me know if you have any questions. > > > >Thanks, > > > >Mark A. Matte > > > > > >************Module*************** > >Global lngTableCounter As Long > > > >Function MyAutoCtr(prmAny) > >'Trick is to pass a field from the input table(s) so that function called > >for each record 'otherwise Access thinks that the function will always > >return the same value and 'only calls it once, and every output record > gets > >the same value MyAutoCtr = lngTableCounter lngTableCounter = > >lngTableCounter > >+ 1 End Function > >************Module*************** > > > > > > >From: "jwcolby" > > >Reply-To: Access Developers discussion and problem > > >solving > > >To: "'Access Developers discussion and problem > > >solving'" > > >Subject: [AccessD] Select every nth record > > >Date: Fri, 18 May 2007 11:06:18 -0400 > > > > > >Is there a SQL statement that will do this directly? I have a table of > > >40K records and I want to split it into two tables, each containing > > >every other record of the 40K record table. > > > > > >John W. Colby > > >Colby Consulting > > >www.ColbyConsulting.com > > > > > >-- > > >AccessD mailing list > > >AccessD at databaseadvisors.com > > >http://databaseadvisors.com/mailman/listinfo/accessd > > >Website: http://www.databaseadvisors.com > > > >_________________________________________________________________ > >Catch suspicious messages before you open them with Windows Live Hotmail. > > > http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio > >n_HM_mini_protection_0507 > > > > > > > >-- > >AccessD mailing list > >AccessD at databaseadvisors.com > >http://databaseadvisors.com/mailman/listinfo/accessd > >Website: http://www.databaseadvisors.com > > _________________________________________________________________ > More photos, more messages, more storage?get 2GB with Windows Live > Hotmail. > > http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From martyconnelly at shaw.ca Fri May 18 13:24:19 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Fri, 18 May 2007 11:24:19 -0700 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> Message-ID: <464DEF53.6010905@shaw.ca> How to programmatically import Outlook items from Access http://support.microsoft.com/?kbid=290658 How to programmatically export Outlook items to Access http://support.microsoft.com/?kbid=290792 More examples here http://www.outlookcode.com/article.aspx?ID=25 Linking tables directly doesn't allow access to all Outlook fields via Link Table Manager.. John Bartow wrote: >Has anyone used Outlook to hold all of the contact information needed in an >access app? > >If so any pointers would be appreciated. > >BTW version 2003 > > -- Marty Connelly Victoria, B.C. Canada From rl_stewart at highstream.net Fri May 18 14:02:47 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 18 May 2007 14:02:47 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: References: Message-ID: <200705181905.l4IJ5MQj009163@databaseadvisors.com> I have done the opposite. Updated Outlook with all the contact information in Access as the master source. I would not even think of doing it from Outlook to Access. At 10:35 AM 5/18/2007, you wrote: >Date: Thu, 17 May 2007 22:38:39 -0500 >From: "John Bartow" >Subject: [AccessD] Access app using Outlook contacts >To: "'Access Developers discussion and problem solving'" > >Message-ID: <00b001c798fe$067e3cc0$6402a8c0 at ScuzzPaq> >Content-Type: text/plain; charset="us-ascii" > >Has anyone used Outlook to hold all of the contact information needed in an >access app? > >If so any pointers would be appreciated. > >BTW version 2003 From rl_stewart at highstream.net Fri May 18 14:10:52 2007 From: rl_stewart at highstream.net (Robert L. Stewart) Date: Fri, 18 May 2007 14:10:52 -0500 Subject: [AccessD] Select every nth record In-Reply-To: References: Message-ID: <200705181915.l4IJFM92011804@databaseadvisors.com> If it is SQL Server 2005, check the RowNumber() function. And combine it with the Access mod function. At 10:35 AM 5/18/2007, you wrote: >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Select every nth record > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com From jwcolby at colbyconsulting.com Fri May 18 14:21:47 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 15:21:47 -0400 Subject: [AccessD] Select every nth record In-Reply-To: <200705181915.l4IJFM92011804@databaseadvisors.com> Message-ID: <20070518192145.E46D5BD28@smtp-auth.no-ip.com> Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 18, 2007 3:11 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Select every nth record If it is SQL Server 2005, check the RowNumber() function. And combine it with the Access mod function. At 10:35 AM 5/18/2007, you wrote: >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Select every nth record > >Is there a SQL statement that will do this directly? I have a table of >40K records and I want to split it into two tables, each containing >every other record of the 40K record table. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Fri May 18 15:30:01 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sat, 19 May 2007 02:00:01 +0530 Subject: [AccessD] Select every nth record References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: Criteria for selecting every nth record could be applied to sequential numbers generated by any of the following alternative methods: (a) Subquery. (b) User defined function. (c) Surrogate autonumber. For large data sets both (a) & (b) are found to be unacceptably slow. The third method using surrogate autonumber happens to be the fastest. Sample subroutine given below, should be able to append every nth record from source table T_A to destination table T_C (same structure as T_A). ID is the name of primary key in tables T_A, T_B & T_C. Table T_B is an interim table. It has two fields named ID (primary key) and RowNum (autonumber type). Care is to be taken that if the primary key (ID) in tables T_A & T_C is autonumber type, it is changed to number type in table T_B. On running the subroutine, existing records if any, in tables T_B & T_C get cleared and required data gets filled in a per the argument NthRecord. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As String) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 18, 2007 20:36 Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From erbachs at gmail.com Fri May 18 16:44:09 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:44:09 -0500 Subject: [AccessD] OpenArgs In-Reply-To: <20070517153834.32F09BCE5@smtp-auth.no-ip.com> References: <000801c79895$84dd6780$4db62ad1@SusanOne> <20070517153834.32F09BCE5@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181444r531d763kfb56560cf20e9f3c@mail.gmail.com> John, As always you are very generous with the examples! Since I work mostly in .NET now I have seen the light of classes. Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > '************ > 'The following is clsOpenArgs (parent to clsOpenArg) > '************ > > Option Compare Database > Option Explicit > > ' BEHAVIORS: > ' > ' > 'When a form opens, it can accept open args, a text string argument. > 'The framework will check for openargs, and if they exist will check > 'inside the Openagrs for arguments named the same thing as form properties. > 'If such arguments are found, the framework will set the form's property > 'equal to the argument value. From erbachs at gmail.com Fri May 18 16:46:15 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:46:15 -0500 Subject: [AccessD] Weird Problem...for me anyhow In-Reply-To: <20070517150452.C8923BE61@smtp-auth.no-ip.com> References: <39cb22f30705170748k5974fe24hcc7e802b796fd6e3@mail.gmail.com> <20070517150452.C8923BE61@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181446j5b7a9d9fj97e7fb46330d85f5@mail.gmail.com> John, My "certain age" is 54 and starting to feel it more with all the desk jockeying and slaving over a smoking keyboard... Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > LOL, that was the EXACT visual I had as I was writing that, RIPPING the > stripe(s) off his arm . > > You have to be a certain age to even remember that series. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach > Sent: Thursday, May 17, 2007 10:48 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Weird Problem...for me anyhow > > John, > > Like Chuck Connors in the old "Branded" TV show! > From erbachs at gmail.com Fri May 18 16:48:19 2007 From: erbachs at gmail.com (Steve Erbach) Date: Fri, 18 May 2007 16:48:19 -0500 Subject: [AccessD] OTR: Friday Humor In-Reply-To: <20070518141012.96780BD81@smtp-auth.no-ip.com> References: <20070518141012.96780BD81@smtp-auth.no-ip.com> Message-ID: <39cb22f30705181448n7a7a477drb09c6cdf05cb75d0@mail.gmail.com> John, That would be Ole and Lena in the restaurant and Ole gives Lena the "Heinie Lick" maneuver. Just for the record... Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/18/07, jwcolby wrote: > NEVER CHOKE IN A RESTAURANT IN THE SOUTH > > Two hillbillies walk into a Dairy Queen. While having a couple of Blizzards, > they talk privately about their moonshine operation. Suddenly, a woman at a > nearby table, eating a chicken sandwich, begins to cough. After a while, it > becomes apparent that she is in real distress. One of the hillbillies looks > at her and says, "Kin ya swallar?" The woman shakes her head no. "kin ya > breathe?" The woman begins to turn blue, eyes widen and shakes her head, No. > The hillbilly strolls over to the woman, lifts up the back of her dress, > yanks down her drawers and quickly gives her right butt cheek a long lick > with his tongue. The woman is so shocked that she has a violent spasm and > the obstruction flies out of her mouth. She begins to breathe again. The > hillbilly ambles smugly back to his table. His buddy says, "Ya know, I'd > heerd of that there "Hind Lick Maneuver", But I ain't never seed nobody do > it. > > John W. Colby From jwcolby at colbyconsulting.com Fri May 18 17:01:09 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 18:01:09 -0400 Subject: [AccessD] OpenArgs In-Reply-To: <39cb22f30705181444r531d763kfb56560cf20e9f3c@mail.gmail.com> Message-ID: <20070518220107.73E30BC79@smtp-auth.no-ip.com> >I have seen the light of classes. When you need em, there's just no easy way around em. And in Access at least they are soooooo easy! John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Friday, May 18, 2007 5:44 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OpenArgs John, As always you are very generous with the examples! Since I work mostly in .NET now I have seen the light of classes. Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/17/07, jwcolby wrote: > '************ > 'The following is clsOpenArgs (parent to clsOpenArg) > '************ > > Option Compare Database > Option Explicit > > ' BEHAVIORS: > ' > ' > 'When a form opens, it can accept open args, a text string argument. > 'The framework will check for openargs, and if they exist will check > 'inside the Openagrs for arguments named the same thing as form properties. > 'If such arguments are found, the framework will set the form's > property 'equal to the argument value. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Fri May 18 21:50:17 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 18 May 2007 22:50:17 -0400 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: <20070519025015.D4092BC99@smtp-auth.no-ip.com> I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.com From adtp at hotmail.com Sat May 19 00:24:16 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sat, 19 May 2007 10:54:16 +0530 Subject: [AccessD] Select every nth record References: <20070518150617.132D2BEDF@smtp-auth.no-ip.com> Message-ID: A correction: Data type for the argument in subroutine named P_FillTable(), as given in my previous message, should be Long (instead of String as mentioned earlier). Revised sample subroutine is given below, for ready reference. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As Long) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: A.D.TEJPAL To: Access Developers discussion and problem solving Cc: ADT Sent: Saturday, May 19, 2007 02:00 Subject: Re: [AccessD] Select every nth record Criteria for selecting every nth record could be applied to sequential numbers generated by any of the following alternative methods: (a) Subquery. (b) User defined function. (c) Surrogate autonumber. For large data sets both (a) & (b) are found to be unacceptably slow. The third method using surrogate autonumber happens to be the fastest. Sample subroutine given below, should be able to append every nth record from source table T_A to destination table T_C (same structure as T_A). ID is the name of primary key in tables T_A, T_B & T_C. Table T_B is an interim table. It has two fields named ID (primary key) and RowNum (autonumber type). Care is to be taken that if the primary key (ID) in tables T_A & T_C is autonumber type, it is changed to number type in table T_B. On running the subroutine, existing records if any, in tables T_B & T_C get cleared and required data gets filled in a per the argument NthRecord. A.D.Tejpal --------------- ================================== Private Sub P_FillTable(ByVal _ NthRecord As String) Dim db As DAO.Database Dim Qst As String Set db = DBEngine(0)(0) ' Clear interim table T_B and destination ' table T_C db.Execute "Delete * From T_B;" db.Execute "Delete * From T_C;" ' Reset RowNum (Autonumber) field in interim ' table T_B to start from 1. db.Execute "ALTER TABLE T_B ALTER " & _ "COLUMN RowNum COUNTER (1, 1);" ' Append ID values from source table T_A to ' interim table T_B Qst = "INSERT INTO T_B (ID) " & _ "SELECT ID FROM T_A;" db.Execute Qst, dbFailOnError ' Append every NthRecord to destination table T_C Qst = "INSERT INTO T_C " & _ "SELECT T_A.* FROM T_A " & _ "INNER JOIN T_B ON T_A.ID = T_B.ID " & _ "WHERE RowNum Mod " & NthRecord & _ " = 0;" db.Execute Qst, dbFailOnError Set db = Nothing End Sub ================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 18, 2007 20:36 Subject: [AccessD] Select every nth record Is there a SQL statement that will do this directly? I have a table of 40K records and I want to split it into two tables, each containing every other record of the 40K record table. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Sat May 19 03:55:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 19 May 2007 01:55:53 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070519025015.D4092BC99@smtp-auth.no-ip.com> Message-ID: <0JIA001MK5Y9X3D2@l-daemon> Hi John: Just love those virtual PCs... currently running/have saved versions with Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. Just port them and can test and support a variety of clients. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 7:50 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Virtual PC 2007 I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Sat May 19 05:26:15 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Sat, 19 May 2007 14:26:15 +0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <0JIA001MK5Y9X3D2@l-daemon> Message-ID: <001701c79a00$21d170c0$6501a8c0@nant> Hi All, Did anybody try VMWare? After MS went free with Virtual PC VMWare did also release some free products - and what these products allow to do look very powerful and useful: http://www.vmware.com/products/player/ http://www.vmware.com/products/server/ with a lot of preconfigured free systems one can use: http://www.vmware.com/vmtn/appliances/ I didn't try them yet but I plan to... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Saturday, May 19, 2007 12:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT: Virtual PC 2007 Hi John: Just love those virtual PCs... currently running/have saved versions with Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. Just port them and can test and support a variety of clients. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 18, 2007 7:50 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OT: Virtual PC 2007 I just wanted to report that I have spent most of the day getting virtual PC 2007 installed and a virtual PC XP Pro functioning on one of my windows 2003 servers. I am installing everything imaginable on the system, and will then make copies to actually run on. Got PC XP Pro installed, SP2, all the updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. It is all running very well. It took a little while to figure out, for example no USB drives at all apparently, but you can drag and drop a directory from the host to the virtual PC so I just plug the usb drive in to the host and then drag n drop what I need off the drive onto the virtual pc. I made the virtual pc a 256 mb machine with a 30gb hard drive. For ordinary office / browsing it seems to be sufficient. What I am considering doing is dragging a copy off onto my new laptops when they arrive. It is definitely cool to be able to set up a machine, then just drag an image over to another machine, install Virtual PC 2007 and fire it up and have everything "instantly installed". Of course 30g doesn't just drag instantly, it will definitely take 10 minutes or so. My wife's laptop died and she has been sharing my PC since. Then my laptop died. I think I will make a copy of the new virtual machine on one of the servers, run it, make her a mcolby user as she had on her old machine, install her old Outlook PST file and all her My Documents stuff and have her up and running in her own virtual machine. John W. Colby Colby Consulting www.ColbyConsulting.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 erbachs at gmail.com Sat May 19 06:16:22 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sat, 19 May 2007 06:16:22 -0500 Subject: [AccessD] Access vs. Excel - Oy! Message-ID: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Dear Group, If any additional evidence were needed by any of you Access heads that our favorite PC database is furlongs, miles, leagues, light years, parsecs ahead of Excel as a database tool, I only need relate what happened with the Neenah voter list I bought on Wednesday. The City Clerk had downloaded 4 years worth of election history for my city into four separate Excel worksheets. I had helped her extract data from Wisconsin's voter registration system some time back, but things have changed a bit. The state IT guys have put together a certain format for voter history that sucketh big time. There are two rows for each voter in the history. The second row has the city, state, zip and that's all...in one field, too! Isn't that handy? Why didn't I ever think to put all three in one field before? But much worse: each spreadsheet contains up to four elections: spring primary, spring general, fall primary, and fall general election. It's laid out like a COBOL report: the name of the election appears next to the first voter's name...but after that first record the label does NOT appear next the the names of ANY other voters who voted in that election! All those fields are blank until the block of voters' names for the next election. Similarly, the township name is listed next to the voter's name; but any other voters in the list living in that same township do NOT show the township name next to their names! Not knowing this in advance, I went on Wednesday to the City Clerk's office. She wanted to show me one of the spreadsheets, so she opened the File | Open dialog box. I saw the names of the four spreadsheets there and I asked her how big the largest one was -- meaning size in KB. She thought I meant in number of spreadsheet rows, so she opened the list for 2004. I know that her machine, like so many PCs in offices around the country, is a bit on the under-powered side. But I wasn't prepared to wait for 12 minutes! When the sheet finally opened I saw the layout I described above and I saw that there were 45,000+ rows and 7 columns. No problem, I thought; I'll just have her zip them up and I'll deal with them at home after she emails them to me. I unzipped the file on my home system and I thought I'd see what the largest sheet looked like in Excel. The sheet is 8.5MB or so. I revved up Excel 2003 and opened that sheet...and waited 10 long minutes. During that time I opened Task Manager and saw that Excel was consuming 98% of the CPU cycles, but it had only 160 KB or so of file I/O and was using only 30 MB of RAM. Once it was open I tried something simple like copying the election code from the first row to every other row that had a blank election code. Geez! That took a few minutes just for that! I saved the file with a new name and exited Excel as a bad business. I learned my lesson. I opened Access 2003 and imported the original spreadsheet. Within three seconds I saw the first screen of the Import process where I could tell Access whether the first row of the sheet contains the field names. I went through all the screens of the dialog, allowing Access to assign a key, and in just under 10 seconds all 45,000+ rows were sucked into a new table! Halle-flippin'-lujah! Unbelievable. The clerk had spent a considerable amount of time downloading those four sheets from the state database. Excel is the most convenient of the choices for data export; but the IT dept. in charge of the voter list must not want it to be too easy for people that are purchasing the voter lists to actually USE the data. A few months ago when I ran for re-election here in Neenah, I was able to get a voter history that had a separate group of columns in the spreadsheet for each election I was interested in. So if a voter participated in only two of the six election columns, there would be the date of the election in the appropriate column. Also each voters demographic information was in a single row. It's a good thing that I had curried a bit of favor with the Clerk. I had sat with her in December helping her decipher the options in the on-line voter registration database. This was back when she actually had a choice as to which columns could be selected for her downloads. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. Regards, Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com From carbonnb at gmail.com Sat May 19 08:03:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sat, 19 May 2007 09:03:38 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <001701c79a00$21d170c0$6501a8c0@nant> References: <0JIA001MK5Y9X3D2@l-daemon> <001701c79a00$21d170c0$6501a8c0@nant> Message-ID: On 5/19/07, Shamil Salakhetdinov wrote: > Did anybody try VMWare? After MS went free with Virtual PC VMWare did also > release some free products - and what these products allow to do look very > powerful and useful: Yep. I use VMWare. I started with VMWare Workstation to create a server that is identical to DBAs server so that I could test things out there before working on the real server. Its a wonderful tool. Ever since VMWare player came out, I've been running the VM in player and not the full blown workstation, and it works incredibly well. I have tried MS Virtual PC and don't like it as much. It much more of a resource hog than VMWare, IME. -- 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 ssharkins at setel.com Sat May 19 08:43:10 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 19 May 2007 09:43:10 -0400 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Message-ID: <003101c79a1b$a5375590$2e32fad1@SusanOne> Sounds like a letter to the editor to me... Along with a bid for your services. ;) Susan H. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. From john at winhaven.net Sat May 19 11:45:20 2007 From: john at winhaven.net (John Bartow) Date: Sat, 19 May 2007 11:45:20 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <200705181905.l4IJ5MQj009163@databaseadvisors.com> References: <200705181905.l4IJ5MQj009163@databaseadvisors.com> Message-ID: <033301c79a35$16fa8710$6402a8c0@ScuzzPaq> I would tend to agree with your reservations for not doing this. Sometimes its dangerous to "think out loud" but that is essentially what I'm doing here. I try to be somewhat flexible and investigate the reasons (beyond the obvious) of why I shouldn't do something. My personal opinion is that Outlook is a "mess". But then I'm rooted in RDBMS and Outlook (along with its huge customer base) is obviously not! :o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert L. Stewart Sent: Friday, May 18, 2007 2:03 PM To: accessd at databaseadvisors.com Cc: john at winhaven.net Subject: Re: [AccessD] Access app using Outlook contacts I have done the opposite. Updated Outlook with all the contact information in Access as the master source. I would not even think of doing it from Outlook to Access. From john at winhaven.net Sat May 19 11:55:44 2007 From: john at winhaven.net (John Bartow) Date: Sat, 19 May 2007 11:55:44 -0500 Subject: [AccessD] Access app using Outlook contacts In-Reply-To: <464DEF53.6010905@shaw.ca> References: <00b001c798fe$067e3cc0$6402a8c0@ScuzzPaq> <464DEF53.6010905@shaw.ca> Message-ID: <033401c79a36$8b012cd0$6402a8c0@ScuzzPaq> Thanks I'm investigating these links along with Outlook's Object Model. I haven't done any Outlook contacts integration work before and the only VBA I've done in Outlook was in regards to messaging & emails. I generally hold all contact information in a database (where it should be ;o) My original idea was that Outlook must maintain a unique identifier for each contact that I could use as a primary key - contact ID - in my contacts table. I would then programmatically retrieve the textual contact information for the chosen contact ID from Outlook when needed. This could all be a very dumb idea but my good to bad idea percentages can take the hit ;o) -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Friday, May 18, 2007 1:24 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Access app using Outlook contacts How to programmatically import Outlook items from Access http://support.microsoft.com/?kbid=290658 How to programmatically export Outlook items to Access http://support.microsoft.com/?kbid=290792 More examples here http://www.outlookcode.com/article.aspx?ID=25 Linking tables directly doesn't allow access to all Outlook fields via Link Table Manager.. From jwcolby at colbyconsulting.com Sat May 19 12:13:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sat, 19 May 2007 13:13:56 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: Message-ID: <20070519171354.A465BBBF2@smtp-auth.no-ip.com> Well I just ran into my first gotcha. Both virtual machine managers (VPC and VMX) use virtual video cards, neither of which emulate 3d. My 6 year old son Robbie and I are both huge fans of MorrowWind (yes, he plays by himself) and it requires 3d hardware. And of course it took me awhile to discover the issue as the game gave no meaningful error message when it aborted while opening. Sigh. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Saturday, May 19, 2007 9:04 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 On 5/19/07, Shamil Salakhetdinov wrote: > Did anybody try VMWare? After MS went free with Virtual PC VMWare did > also release some free products - and what these products allow to do > look very powerful and useful: Yep. I use VMWare. I started with VMWare Workstation to create a server that is identical to DBAs server so that I could test things out there before working on the real server. Its a wonderful tool. Ever since VMWare player came out, I've been running the VM in player and not the full blown workstation, and it works incredibly well. I have tried MS Virtual PC and don't like it as much. It much more of a resource hog than VMWare, IME. -- 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 erbachs at gmail.com Sat May 19 12:46:26 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sat, 19 May 2007 12:46:26 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <003101c79a1b$a5375590$2e32fad1@SusanOne> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <003101c79a1b$a5375590$2e32fad1@SusanOne> Message-ID: <39cb22f30705191046h760ea814jb1d734a1f8fd05d5@mail.gmail.com> Susan, Nah! Just an Access success story along with a gripe about guvmint information workers. Steve Erbach On 5/19/07, Susan Harkins wrote: > Sounds like a letter to the editor to me... Along with a bid for your > services. ;) > > Susan H. > > I said that the lists are purchased. This is all made VERY pertinent since > I only paid $15 for these four spreadsheets. The NEW fees went into effect > on Thursday: $25 for the setup charge + $5 per thousand names. There was a > total of almost 49,000 names. You do the math; I'm too appalled. > From accessd at shaw.ca Sat May 19 13:09:38 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sat, 19 May 2007 11:09:38 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> Message-ID: <0JIA00D3JVL5E540@l-daemon> Steve: That is a very interesting story. It sounds like a brew mixed with incompetence, inexperience, laziness driven by a fear of change and losing control all spiced with a bit of larceny. You have the start to great article in the editorial section of the local newspaper. If I had a suspicious nature I would visualize how easy it would be to add, remove or change to such a list as who has the time or ability to cross-reference such a morass of data. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach Sent: Saturday, May 19, 2007 4:16 AM To: Access Developers discussion and problem solving Subject: [AccessD] Access vs. Excel - Oy! Dear Group, If any additional evidence were needed by any of you Access heads that our favorite PC database is furlongs, miles, leagues, light years, parsecs ahead of Excel as a database tool, I only need relate what happened with the Neenah voter list I bought on Wednesday. The City Clerk had downloaded 4 years worth of election history for my city into four separate Excel worksheets. I had helped her extract data from Wisconsin's voter registration system some time back, but things have changed a bit. The state IT guys have put together a certain format for voter history that sucketh big time. There are two rows for each voter in the history. The second row has the city, state, zip and that's all...in one field, too! Isn't that handy? Why didn't I ever think to put all three in one field before? But much worse: each spreadsheet contains up to four elections: spring primary, spring general, fall primary, and fall general election. It's laid out like a COBOL report: the name of the election appears next to the first voter's name...but after that first record the label does NOT appear next the the names of ANY other voters who voted in that election! All those fields are blank until the block of voters' names for the next election. Similarly, the township name is listed next to the voter's name; but any other voters in the list living in that same township do NOT show the township name next to their names! Not knowing this in advance, I went on Wednesday to the City Clerk's office. She wanted to show me one of the spreadsheets, so she opened the File | Open dialog box. I saw the names of the four spreadsheets there and I asked her how big the largest one was -- meaning size in KB. She thought I meant in number of spreadsheet rows, so she opened the list for 2004. I know that her machine, like so many PCs in offices around the country, is a bit on the under-powered side. But I wasn't prepared to wait for 12 minutes! When the sheet finally opened I saw the layout I described above and I saw that there were 45,000+ rows and 7 columns. No problem, I thought; I'll just have her zip them up and I'll deal with them at home after she emails them to me. I unzipped the file on my home system and I thought I'd see what the largest sheet looked like in Excel. The sheet is 8.5MB or so. I revved up Excel 2003 and opened that sheet...and waited 10 long minutes. During that time I opened Task Manager and saw that Excel was consuming 98% of the CPU cycles, but it had only 160 KB or so of file I/O and was using only 30 MB of RAM. Once it was open I tried something simple like copying the election code from the first row to every other row that had a blank election code. Geez! That took a few minutes just for that! I saved the file with a new name and exited Excel as a bad business. I learned my lesson. I opened Access 2003 and imported the original spreadsheet. Within three seconds I saw the first screen of the Import process where I could tell Access whether the first row of the sheet contains the field names. I went through all the screens of the dialog, allowing Access to assign a key, and in just under 10 seconds all 45,000+ rows were sucked into a new table! Halle-flippin'-lujah! Unbelievable. The clerk had spent a considerable amount of time downloading those four sheets from the state database. Excel is the most convenient of the choices for data export; but the IT dept. in charge of the voter list must not want it to be too easy for people that are purchasing the voter lists to actually USE the data. A few months ago when I ran for re-election here in Neenah, I was able to get a voter history that had a separate group of columns in the spreadsheet for each election I was interested in. So if a voter participated in only two of the six election columns, there would be the date of the election in the appropriate column. Also each voters demographic information was in a single row. It's a good thing that I had curried a bit of favor with the Clerk. I had sat with her in December helping her decipher the options in the on-line voter registration database. This was back when she actually had a choice as to which columns could be selected for her downloads. I said that the lists are purchased. This is all made VERY pertinent since I only paid $15 for these four spreadsheets. The NEW fees went into effect on Thursday: $25 for the setup charge + $5 per thousand names. There was a total of almost 49,000 names. You do the math; I'm too appalled. Regards, Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From gustav at cactus.dk Sat May 19 16:29:56 2007 From: gustav at cactus.dk (Gustav Brock) Date: Sat, 19 May 2007 23:29:56 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Shamil - Certainly. We find VMware far superior to Virtual PC. It is not Windows biased as it runs on Linux too and will run close to all OS'es too. Even the free VMware server is clearly a member of a very competent product family - no short cuts. Also, some excellent tools are available like the amazing P2V which migrates a physical machine to a virtual. These virtual machines have changed so much. We now can have a machine with, say, a standard preconfigured Windows 2003 server up an running in minutes. /gustav >>> shamil at users.mns.ru 19-05-07 12:26 >>> Hi All, Did anybody try VMWare? After MS went free with Virtual PC VMWare did also release some free products - and what these products allow to do look very powerful and useful: http://www.vmware.com/products/player/ http://www.vmware.com/products/server/ with a lot of preconfigured free systems one can use: http://www.vmware.com/vmtn/appliances/ I didn't try them yet but I plan to... -- Shamil From erbachs at gmail.com Sun May 20 09:05:45 2007 From: erbachs at gmail.com (Steve Erbach) Date: Sun, 20 May 2007 09:05:45 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <0JIA00D3JVL5E540@l-daemon> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> Message-ID: <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> Jim L., Thanks. Unfortunately it would be a story interesting only to people like us! The idea of a state-wide voter list isn't bad. In the lists I got on Wednesday (since consolidated in Access into one list), there are about 1100 names of people whose address has changed since they voted. These 1100 people have moved out of the city of Neenah. The state list shows their new addresses which is handy, when you think about it. If I had gotten those four years of voter history from a Neenah-only database. Those 1100 peoples' addresses would simply have been wrong and any mailings I did to them would bounce back or get forwarded, maybe. In any event those names would be useless to me if I were trying to get them to vote for me. They CAN'T vote in Neenah elections any longer. At least with the state list I can see that they've moved and I can eliminate them from any mailings. Actually I'm now a bit confused. Back in December when I sat with the City Clerk and looked at the on-line database system, I found that the names and addresses were stored in good form. That is, the addresses were separated into Pre-Street-Direction, House Number, Street name, street type, Post-Street-Direction, unit number, unit type, etc. This is what I'll have to do "manually" (with Access, thank god!) with the names I was given since the addresses are all in one field. During my re-election campaign I made lists of voters by street and by house number so that I could move sequentially along a street and know which homes had voters in them. The number of people who actually vote in a February primary election is minscule. This is good since that was a damned cold month for door-knocking. One wants to target one's door-knocking as much as possible. That December list I extracted saved me a lot of work. Therefore, I have to assume that the City Clerk chose a pre-formatted report for the voter history I asked for...and that pre-formatted report had several export options, one being Excel. Looks like I'll have to do some more digging. That is, find out more from the state elections board or whoever has control over the state-wide lists now. It would be useful to know all the options one has for extracting data. I'm not certain, though, if a regular citizen has access to the data. I'm just happy that I got these lists before the prices went up. I miscounted: there were actually close to 53,000 records. $25 setup + $5 per thousand equals $290 vs. the $15 I paid. I guess I can put up with a bit of table manipulation and normalizing! Steve Erbach http://TheTownCrank.blogspot.com On 5/19/07, Jim Lawrence wrote: > Steve: > > That is a very interesting story. It sounds like a brew mixed with > incompetence, inexperience, laziness driven by a fear of change and losing > control all spiced with a bit of larceny. You have the start to great > article in the editorial section of the local newspaper. > > If I had a suspicious nature I would visualize how easy it would be to add, > remove or change to such a list as who has the time or ability to > cross-reference such a morass of data. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Erbach > Sent: Saturday, May 19, 2007 4:16 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Access vs. Excel - Oy! > > Dear Group, > > If any additional evidence were needed by any of you Access heads that > our favorite PC database is furlongs, miles, leagues, light years, > parsecs ahead of Excel as a database tool, I only need relate what > happened with the Neenah voter list I bought on Wednesday. From martyconnelly at shaw.ca Sun May 20 13:53:32 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Sun, 20 May 2007 11:53:32 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> Message-ID: <4650992C.5010601@shaw.ca> Something to keep in mind when using data and addresses. Just as an aside to this I remember researching the number of people who had moved within a year in a major Canadian city by using GIS and tax roll assessment data. I came up with around 30%. This was disbelieved by local urban planners. I reconfirmed the number by checking the number of Bell residential phone line connects and disconnects. This was 30 years ago before the use of cell phones. This number may vary by town size and country but is still substantial. Steve Erbach wrote: >Thanks. Unfortunately it would be a story interesting only to people like us! > >The idea of a state-wide voter list isn't bad. In the lists I got on >Wednesday (since consolidated in Access into one list), there are >about 1100 names of people whose address has changed since they voted. > These 1100 people have moved out of the city of Neenah. The state >list shows their new addresses which is handy, when you think about >it. If I had gotten those four years of voter history from a >Neenah-only database. Those 1100 peoples' addresses would simply have >been wrong and any mailings I did to them would bounce back or get >forwarded, maybe. In any event those names would be useless to me if >I were trying to get them to vote for me. They CAN'T vote in Neenah >elections any longer. At least with the state list I can see that >they've moved and I can eliminate them from any mailings. > >Actually I'm now a bit confused. Back in December when I sat with the >City Clerk and looked at the on-line database system, I found that the >names and addresses were stored in good form. That is, the addresses >were separated into Pre-Street-Direction, House Number, Street name, >street type, Post-Street-Direction, unit number, unit type, etc. This >is what I'll have to do "manually" (with Access, thank god!) with the >names I was given since the addresses are all in one field. During my >re-election campaign I made lists of voters by street and by house >number so that I could move sequentially along a street and know which >homes had voters in them. The number of people who actually vote in a >February primary election is minscule. This is good since that was a >damned cold month for door-knocking. One wants to target one's >door-knocking as much as possible. That December list I extracted >saved me a lot of work. > >Therefore, I have to assume that the City Clerk chose a pre-formatted >report for the voter history I asked for...and that pre-formatted >report had several export options, one being Excel. > >Looks like I'll have to do some more digging. That is, find out more >from the state elections board or whoever has control over the >state-wide lists now. It would be useful to know all the options one >has for extracting data. I'm not certain, though, if a regular >citizen has access to the data. > >I'm just happy that I got these lists before the prices went up. I >miscounted: there were actually close to 53,000 records. $25 setup + >$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up >with a bit of table manipulation and normalizing! > > >Steve Erbach >http://TheTownCrank.blogspot.com > > -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Sun May 20 15:20:04 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 20 May 2007 13:20:04 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4650992C.5010601@shaw.ca> Message-ID: <0JIC00J88WADXAF0@l-daemon> Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA Jim From carbonnb at gmail.com Sun May 20 16:16:41 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 17:16:41 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> Message-ID: Nothing better to do on a long weekend, except read AccessD. Sigh On 5/20/07, Jim Lawrence wrote: > 1. Double-byte Character Sets; using them with Word documents and Access > databases. Nope > 2. Reading data out Word documents into an Access database. Yep. For the last 8 year or so. Each year I send out a Word form (a true Word Form with Form Fields) to my internal clients to get their training requests for the upcoming year. One form per request. They e-mail it back to me and I import all the data from the Form into an Access DB. This import serves as the basis for my annual training plan. Our National Learning & Development group uses the same form and Access DB for the same purpose. If you read the Article, Using Word as Remote Data Collection for Access, I wrote for M2M, it should give you the basics. -- 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 wdhindman at dejpolsystems.com Sun May 20 16:19:00 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Sun, 20 May 2007 17:19:00 -0400 Subject: [AccessD] Word documents and MS Access References: <0JIC00J88WADXAF0@l-daemon> Message-ID: <000901c79b24$7c8976a0$7d7d6c4c@jisshowsbs.local> Jim ...if you're talking importing data from tables in Word to tables in Access, Helen Feddema has a sample mdb on her site. William Hindman ----- Original Message ----- From: "Jim Lawrence" To: "'Access Developers discussion and problem solving'" Sent: Sunday, May 20, 2007 4:20 PM Subject: [AccessD] Word documents and MS Access > Hi All: > > I have two questions. They are both related. A client has approached me > with > a particular project and I am wondering if anyone has experience with the > following: > > 1. Double-byte Character Sets; using them with Word documents and Access > databases. > 2. Reading data out Word documents into an Access database. > > TIA > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From carbonnb at gmail.com Sun May 20 16:17:55 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 17:17:55 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> Message-ID: On 5/20/07, Bryan Carbonnell wrote: > If you read the Article, Using Word as Remote Data Collection for > Access, I wrote for M2M, it should give you the basics. Url might help, eh? http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp -- 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 stuart at lexacorp.com.pg Sun May 20 16:56:12 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 21 May 2007 07:56:12 +1000 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> References: <4650992C.5010601@shaw.ca>, <0JIC00J88WADXAF0@l-daemon> Message-ID: <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> On 20 May 2007 at 13:20, Jim Lawrence wrote: > Hi All: > > I have two questions. They are both related. A client has approached me with > a particular project and I am wondering if anyone has experience with the > following: > > 1. Double-byte Character Sets; using them with Word documents and Access > databases. A real PITA. >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx "Note: New Windows applications should use Unicode to avoid the inconsistencies of varied code pages and for ease of localization. However, some legacy protocols might require the use of DBCS code pages. Each DBCS code page supports different characters, but no page supportsthe full breadth of characters provided by Unicode. Each DBCS code page supports a different subset, differently encoded. Data converted from one DBCS code page to another is subject to corruption because the same data value on different code pages can encode a different character. Data converted from Unicode to DBCS is subject to data loss, because a given code page might not be able to represent every character used in that particular Unicode data."-- Stuart From fuller.artful at gmail.com Sun May 20 17:20:41 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sun, 20 May 2007 18:20:41 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> 100% correct, Stuart. I recently published an article about exactly this at TechRepulic.comm. It doesn't apply specifically to Access; it was written for the SQL Server crowd; but it may be convertible. No promises. I dealt solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but I haven't tested it there. Visit www.techrepublic.com and search for stuff by me; it ought to be the first or second or third reference. A. On 5/20/07, Stuart McLachlan wrote: > > On 20 May 2007 at 13:20, Jim Lawrence wrote: > > > Hi All: > > > > I have two questions. They are both related. A client has approached me > with > > a particular project and I am wondering if anyone has experience with > the > > following: > > > > 1. Double-byte Character Sets; using them with Word documents and Access > > databases. > > A real PITA. > > >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx > > "Note: New Windows applications should use Unicode to avoid the > inconsistencies of varied code pages and for ease of localization. > However, > some legacy protocols might require the use of DBCS code pages. Each DBCS > code page supports different characters, but no page supportsthe full > breadth of characters provided by Unicode. Each DBCS code page supports a > different subset, differently encoded. Data converted from one DBCS code > page to another is subject to corruption because the same data value on > different code pages can encode a different character. Data converted from > Unicode to DBCS is subject to data loss, because a given code page might > not be able to represent every character used in that particular Unicode > data."-- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Sun May 20 19:40:31 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 20 May 2007 17:40:31 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> Message-ID: <0JID0023M8CGUB21@l-daemon> Hi Guys: Nothing like a long weekend in which I planned to work in the garden and then after 2 weeks of sun shine, nature decides it is a good time to water things... real good. That means more time to enjoy the computer. Thank, Bryan, William, Stuart and Arthur. I will do a little more research and maybe ask some more complex questions, if that is all right. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 20, 2007 3:21 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Word documents and MS Access 100% correct, Stuart. I recently published an article about exactly this at TechRepulic.comm. It doesn't apply specifically to Access; it was written for the SQL Server crowd; but it may be convertible. No promises. I dealt solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but I haven't tested it there. Visit www.techrepublic.com and search for stuff by me; it ought to be the first or second or third reference. A. On 5/20/07, Stuart McLachlan wrote: > > On 20 May 2007 at 13:20, Jim Lawrence wrote: > > > Hi All: > > > > I have two questions. They are both related. A client has approached me > with > > a particular project and I am wondering if anyone has experience with > the > > following: > > > > 1. Double-byte Character Sets; using them with Word documents and Access > > databases. > > A real PITA. > > >From http://msdn2.microsoft.com/en-us/library/ms776454.aspx > > "Note: New Windows applications should use Unicode to avoid the > inconsistencies of varied code pages and for ease of localization. > However, > some legacy protocols might require the use of DBCS code pages. Each DBCS > code page supports different characters, but no page supportsthe full > breadth of characters provided by Unicode. Each DBCS code page supports a > different subset, differently encoded. Data converted from one DBCS code > page to another is subject to corruption because the same data value on > different code pages can encode a different character. Data converted from > Unicode to DBCS is subject to data loss, because a given code page might > not be able to represent every character used in that particular Unicode > data."-- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 carbonnb at gmail.com Sun May 20 19:40:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Sun, 20 May 2007 20:40:38 -0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JID0023M8CGUB21@l-daemon> References: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> <0JID0023M8CGUB21@l-daemon> Message-ID: On 5/20/07, Jim Lawrence wrote: > Nothing like a long weekend in which I planned to work in the garden and > then after 2 weeks of sun shine, nature decides it is a good time to water > things... real good. Yea, isn't Mother Nature a witch. > Thank, Bryan, William, Stuart and Arthur. I will do a little more research > and maybe ask some more complex questions, if that is all right. No, it's not alright. :) It's not like this list is here for things like that anyway :) Ask away. -- 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 hadyn at dataconcepts.co.nz Mon May 21 03:50:55 2007 From: hadyn at dataconcepts.co.nz (Hadyn Morgan) Date: Mon, 21 May 2007 20:50:55 +1200 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 From jwcolby at colbyconsulting.com Mon May 21 05:43:57 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 06:43:57 -0400 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: <20070521104354.F14B4BC79@smtp-auth.no-ip.com> Although I have never tried, I do not believe this is possible. IIRC Opening a form in another container can only be done one of two ways, using automation to manipulate an instance of that container or by referencing that container and then using code in that container to open the desired form. In either case the form would just open, not be a subform of a form. Since all of the subforms will reside in the main application container, I think you are going to be faced with placing a copy of the main form in the application container. As long as you use classes / code stored in the library to manipulate the main form and its subforms, you will still have control over the code maintenance. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hadyn Morgan Sent: Monday, May 21, 2007 4:51 AM To: Access Developers discussion and problem solving Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From dkalsow at yahoo.com Mon May 21 08:53:13 2007 From: dkalsow at yahoo.com (Dale Kalsow) Date: Mon, 21 May 2007 06:53:13 -0700 (PDT) Subject: [AccessD] Signature in Work In-Reply-To: <20070521104354.F14B4BC79@smtp-auth.no-ip.com> Message-ID: <90853.35224.qm@web50412.mail.re2.yahoo.com> Good Morning Everyone, I know this is a little off of topic but I have an MS word 07 form on a tablet pc that I want to be able to allow the user to sign once the form is complete (thus the table pc). Does any know how to capture that signare in word? Thanks! Dale --------------------------------- Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. From shamil at users.mns.ru Mon May 21 09:27:11 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 18:27:11 +0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIC00J88WADXAF0@l-daemon> Message-ID: <000701c79bb4$1f0924e0$6401a8c0@nant> Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From shamil at users.mns.ru Mon May 21 09:29:04 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 18:29:04 +0400 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: <000801c79bb4$627b8830$6401a8c0@nant> Hello Hadyn, <<< Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? >>> No, it can't -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hadyn Morgan Sent: Monday, May 21, 2007 12:51 PM To: Access Developers discussion and problem solving Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007 07:54 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Chester_Kaup at kindermorgan.com Mon May 21 10:08:42 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 10:08:42 -0500 Subject: [AccessD] List Box Selection on a Report Message-ID: I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. From andy at minstersystems.co.uk Mon May 21 10:52:46 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 21 May 2007 16:52:46 +0100 Subject: [AccessD] List Box Selection on a Report Message-ID: <20070521155251.539CE54196@smtp.nildram.co.uk> Chester, unless you just typed it wrong you missed the [ off the front of Forms -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] List Box Selection on a Report Date: 21/05/07 15:26 I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 From Chester_Kaup at kindermorgan.com Mon May 21 10:58:39 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 10:58:39 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: <20070521155251.539CE54196@smtp.nildram.co.uk> References: <20070521155251.539CE54196@smtp.nildram.co.uk> Message-ID: I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Monday, May 21, 2007 10:53 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report Chester, unless you just typed it wrong you missed the [ off the front of Forms -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "Access Developers discussion and problem solving" Subject: [AccessD] List Box Selection on a Report Date: 21/05/07 15:26 I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From pharold at proftesting.com Mon May 21 11:14:22 2007 From: pharold at proftesting.com (Perry L Harold) Date: Mon, 21 May 2007 12:14:22 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> References: <20070514130639.DBECBBDA9@smtp-auth.no-ip.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D131@EXCHANGE.ptiorl.local> For general FYI Going to Dell and configuring for Small Business you can get machines with XP Pro. Same thing with some of the Systemax machines using the configurator. Perry Harold And then there is my Laptop which is what I normally use for development, email, browsing, remote client access etc. ATM that laptop is suffering heat problems and shutting down occasionally so I am moving all of my critical stuff over to one of the desktops temporarily until that issue is resolved. I am actually considering just buying a new laptop. The old one is 3 years old and the new Intel Core 2 duo laptop chips are now available. I think I can get an HP for about $1600 with 2gb RAM and a large drive. UNFORTUNATELY it comes with Vista which I am not looking forward to. From jwcolby at colbyconsulting.com Mon May 21 11:22:37 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 12:22:37 -0400 Subject: [AccessD] VB.Net - seeing the messagebox In-Reply-To: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D131@EXCHANGE.ptiorl.local> Message-ID: <20070521162238.74174BED1@smtp-auth.no-ip.com> >Going to Dell and configuring for Small Business you can get machines with XP Pro. Yes indeed. Last week late I ordered myself a new M90 with XP Pro, and my wife a new Inspiron 9400, also with XP Pro. Both have shipped, and mine should arrive tomorrow. Of course the Dells were significantly more money that the HP but they also look like a higher quality machine. What is funny is that looking at the reviews and customer reviews show the laptops I ordered selling for about $1000 more this time last year. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Perry L Harold Sent: Monday, May 21, 2007 12:14 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VB.Net - seeing the messagebox For general FYI Going to Dell and configuring for Small Business you can get machines with XP Pro. Same thing with some of the Systemax machines using the configurator. Perry Harold From reuben at gfconsultants.com Mon May 21 11:26:24 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Mon, 21 May 2007 12:26:24 -0400 Subject: [AccessD] List Box Selection on a Report In-Reply-To: Message-ID: I typically set text boxes like this in the On_Format event of the section where the text box sits. Header On_Format me.TextBox = [Forms]![Form1]![ManifoldList] End Sub Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Kaup, Chester > Sent: Monday, May 21, 2007 11:59 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off the front > of > Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a selection, > an on click event runs that opens a report based on the selection. This > works fine. Now I need to display the list box selection in a text box > on the report. I set the text box control source to > =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be > doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However a large > number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Mon May 21 12:04:00 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 21 May 2007 10:04:00 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <000701c79bb4$1f0924e0$6401a8c0@nant> Message-ID: <0JIE00D8EHVIZM20@l-daemon> Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 Donald.A.McGillivray at sprint.com Mon May 21 12:09:01 2007 From: Donald.A.McGillivray at sprint.com (McGillivray, Don [IT]) Date: Mon, 21 May 2007 12:09:01 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: Chester, The problem is that a list box might have multiple selections made, depending on the multi-select mode that is specified for the control. So you can't just refer to the control, you have to tell it which item(s) in the list on the control you want. One way to do this is to loop thru the ItemsSelected for the list box: Dim varItem as Variant For Each varItem in Me!MyListBox.ItemsSelected '(. . . Your Code Here . . .) 'Use Me!MyListBox.ItemData(varItem) to retrieve the value in the bound column of the list box. 'Use Me!MyListBox.Column(ColumnIndex, varItem) to retrieve values from other columns Next Hope this helps. Don -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Monday, May 21, 2007 8:09 AM To: Access Developers discussion and problem solving Subject: [AccessD] List Box Selection on a Report I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Chester_Kaup at kindermorgan.com Mon May 21 12:50:38 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 12:50:38 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: Tried it that way. Works fine. Thanks. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Reuben Cummings Sent: Monday, May 21, 2007 11:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report I typically set text boxes like this in the On_Format event of the section where the text box sits. Header On_Format me.TextBox = [Forms]![Form1]![ManifoldList] End Sub Reuben Cummings GFC, LLC 812.523.1017 > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Kaup, Chester > Sent: Monday, May 21, 2007 11:59 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off the front > of > Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a selection, > an on click event runs that opens a report based on the selection. This > works fine. Now I need to display the list box selection in a text box > on the report. I set the text box control source to > =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be > doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However a large > number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Chester_Kaup at kindermorgan.com Mon May 21 12:51:42 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 12:51:42 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: References: Message-ID: I didn't think that was a problem if multiselect was set to none. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don [IT] Sent: Monday, May 21, 2007 12:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] List Box Selection on a Report Chester, The problem is that a list box might have multiple selections made, depending on the multi-select mode that is specified for the control. So you can't just refer to the control, you have to tell it which item(s) in the list on the control you want. One way to do this is to loop thru the ItemsSelected for the list box: Dim varItem as Variant For Each varItem in Me!MyListBox.ItemsSelected '(. . . Your Code Here . . .) 'Use Me!MyListBox.ItemData(varItem) to retrieve the value in the bound column of the list box. 'Use Me!MyListBox.Column(ColumnIndex, varItem) to retrieve values from other columns Next Hope this helps. Don -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Monday, May 21, 2007 8:09 AM To: Access Developers discussion and problem solving Subject: [AccessD] List Box Selection on a Report I have form with a list box on it. When the user clicks on a selection, an on click event runs that opens a report based on the selection. This works fine. Now I need to display the list box selection in a text box on the report. I set the text box control source to =Forms]![Form1]![ManifoldList]. This just returns Name? What might I be doing wrong? Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 Mon May 21 13:05:45 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 21 May 2007 19:05:45 +0100 Subject: [AccessD] List Box Selection on a Report In-Reply-To: Message-ID: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> Should work perfectly fine then. You're not by any chance closing the form before opening the report are you? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kaup, Chester > Sent: 21 May 2007 16:59 > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off > the front of Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a > selection, an on click event runs that opens a report based > on the selection. This works fine. Now I need to display the > list box selection in a text box on the report. I set the > text box control source to =Forms]![Form1]![ManifoldList]. > This just returns Name? What might I be doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However > a large number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Mon May 21 13:24:47 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 11:24:47 -0700 Subject: [AccessD] Signature in Work In-Reply-To: <90853.35224.qm@web50412.mail.re2.yahoo.com> References: <90853.35224.qm@web50412.mail.re2.yahoo.com> Message-ID: <4651E3EF.9020602@shaw.ca> I have only done with Access, using the Tablet InkEdit control on a standard PC. Follow these steps to enable handwriting capabilities to Access. 1. Download and install the TabletPC SDK. This will register the InkEdit and InkPicture controls. 2. Open Access and go to a form 3. Select the Additonal Controls icon and Select the Microsoft InkEdit or Microsoft InkPicture 4. Drop the control on the form , right click and select all. All the properties and methods will be exposed. or see SDK The InkEdit control is a superset of the RichText control. The InkEdit control is designed to provide an easy way to capture, display, and recognize ink. InkEd.dll If you want a real digital signature you would have to wrap the Word 2007 XML formatted document with something like this. But this requires more software installed and server certificates. XML Digital Signature Structure ) ( ()? )+ ()? (Object ID?)* Dale Kalsow wrote: >Good Morning Everyone, > > I know this is a little off of topic but I have an MS word 07 form on a tablet pc that I want to be able to allow the user to sign once the form is complete (thus the table pc). Does any know how to capture that signare in word? > > Thanks! > > Dale > > >--------------------------------- >Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. > > -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Mon May 21 13:43:28 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 11:43:28 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> References: <4650992C.5010601@shaw.ca> <0JIC00J88WADXAF0@l-daemon> <4650C3FC.17401.C59C9D8@stuart.lexacorp.com.pg> <29f585dd0705201520v478ef957u931a982a5867f3cb@mail.gmail.com> Message-ID: <4651E850.2040105@shaw.ca> You can convert text or XML files encoded like ISO-8859-1 etc through 11 to UTF-8 or UTF-16. You can also specify window code pages like Chinese Big-5 See Charset in the registry This can be done via ADO streams and CharSets Sub ReadAnsiSaveFileInUTF8() ' ReadToFile / SaveToFile snippet ' Used ADO 2.7 Dim stm As ADODB.Stream Dim strPath As String Dim strData As String 'strPath = GetPath(CurrentDb.Name) ' or whatever your path is strPath = "C:\Access files\ADO\" Set stm = New ADODB.Stream stm.Open 'the character set names for the machine are in the registry 'For a list of the character set strings that is known by a system, see 'the subkeys of HKEY_CLASSES_ROOT\MIME\Database\Charset 'in the Windows Registry. stm.Charset = "ascii" 'case specific name depending on code page may have to use iso-8859-1 stm.Position = 0 stm.Type = adTypeText stm.LoadFromFile strPath & "Readme.txt" ' if you just try and dump out stream with Save ' without reading and writing you get double BOM and clobbered file. stm.Position = 0 strData = stm.ReadText() Debug.Print strData stm.Position = 0 'reset to beginning stm.Charset = "UTF-8" stm.WriteText (strData) stm.SaveToFile strPath & "ReadmeUTF8.txt", adSaveCreateOverWrite stm.Close Set stm = Nothing End Sub Arthur Fuller wrote: >100% correct, Stuart. I recently published an article about exactly this at >TechRepulic.comm. It doesn't apply specifically to Access; it was written >for the SQL Server crowd; but it may be convertible. No promises. I dealt >solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but >I haven't tested it there. > >Visit www.techrepublic.com and search for stuff by me; it ought to be the >first or second or third reference. > >A. > > >On 5/20/07, Stuart McLachlan wrote: > > >>On 20 May 2007 at 13:20, Jim Lawrence wrote: >> >> >> >>>Hi All: >>> >>>I have two questions. They are both related. A client has approached me >>> >>> >>with >> >> >>>a particular project and I am wondering if anyone has experience with >>> >>> >>the >> >> >>>following: >>> >>>1. Double-byte Character Sets; using them with Word documents and Access >>>databases. >>> >>> >>A real PITA. >> >>>From http://msdn2.microsoft.com/en-us/library/ms776454.aspx >> >>"Note: New Windows applications should use Unicode to avoid the >>inconsistencies of varied code pages and for ease of localization. >>However, >>some legacy protocols might require the use of DBCS code pages. Each DBCS >>code page supports different characters, but no page supportsthe full >>breadth of characters provided by Unicode. Each DBCS code page supports a >>different subset, differently encoded. Data converted from one DBCS code >>page to another is subject to corruption because the same data value on >>different code pages can encode a different character. Data converted from >>Unicode to DBCS is subject to data loss, because a given code page might >>not be able to represent every character used in that particular Unicode >>data."-- >>Stuart >> >> -- Marty Connelly Victoria, B.C. Canada From Chester_Kaup at kindermorgan.com Mon May 21 13:55:30 2007 From: Chester_Kaup at kindermorgan.com (Kaup, Chester) Date: Mon, 21 May 2007 13:55:30 -0500 Subject: [AccessD] List Box Selection on a Report In-Reply-To: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> References: <000001c79bd2$a7ed4250$d787d355@minster33c3r25> Message-ID: Unfortunately it does not work. Just returns #ERROR. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Monday, May 21, 2007 1:06 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] List Box Selection on a Report Should work perfectly fine then. You're not by any chance closing the form before opening the report are you? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kaup, Chester > Sent: 21 May 2007 16:59 > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > > I typed it wrong. Should be =[Forms]![Form1]![ManifoldList] > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, May 21, 2007 10:53 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] List Box Selection on a Report > > Chester, unless you just typed it wrong you missed the [ off > the front of Forms > -- > Andy Lacey > http://www.minstersystems.co.uk > > > > --------- Original Message -------- > From: "Access Developers discussion and problem solving" > > To: "Access Developers discussion and problem solving" > > Subject: [AccessD] List Box Selection on a Report > Date: 21/05/07 15:26 > > > I have form with a list box on it. When the user clicks on a > selection, an on click event runs that opens a report based > on the selection. This works fine. Now I need to display the > list box selection in a text box on the report. I set the > text box control source to =Forms]![Form1]![ManifoldList]. > This just returns Name? What might I be doing wrong? > > > > Chester Kaup > > Engineering Technician > > Kinder Morgan CO2 Company, LLP > > Office (432) 688-3797 > > FAX (432) 688-3799 > > > > > > No trees were killed in the sending of this message. However > a large number of electrons were terribly inconvenienced. > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > ________________________________________________ > Message sent using UebiMiau 2.7.2 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 fhtapia at gmail.com Mon May 21 13:56:38 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 21 May 2007 11:56:38 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <001701c79a00$21d170c0$6501a8c0@nant> References: <0JIA001MK5Y9X3D2@l-daemon> <001701c79a00$21d170c0$6501a8c0@nant> Message-ID: woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). On 5/19/07, Shamil Salakhetdinov wrote: > > Hi All, > > Did anybody try VMWare? After MS went free with Virtual PC VMWare did also > release some free products - and what these products allow to do look very > powerful and useful: > > http://www.vmware.com/products/player/ > http://www.vmware.com/products/server/ > > with a lot of preconfigured free systems one can use: > > http://www.vmware.com/vmtn/appliances/ > > I didn't try them yet but I plan to... > > -- > Shamil > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence > Sent: Saturday, May 19, 2007 12:56 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] OT: Virtual PC 2007 > > Hi John: > > Just love those virtual PCs... currently running/have saved versions with > Vista/2 Linuxes/Windows98/Windows2000,XP all with various configurations. > Just port them and can test and support a variety of clients. > > Jim > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Friday, May 18, 2007 7:50 PM > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] OT: Virtual PC 2007 > > I just wanted to report that I have spent most of the day getting virtual > PC > 2007 installed and a virtual PC XP Pro functioning on one of my windows > 2003 > servers. I am installing everything imaginable on the system, and will > then > make copies to actually run on. Got PC XP Pro installed, SP2, all the > updates, Office 2003, WinZip, Adobe Reader, 3DFTP, Comodo Firewall, etc. > > It is all running very well. It took a little while to figure out, for > example no USB drives at all apparently, but you can drag and drop a > directory from the host to the virtual PC so I just plug the usb drive in > to > the host and then drag n drop what I need off the drive onto the virtual > pc. > > I made the virtual pc a 256 mb machine with a 30gb hard drive. For > ordinary > office / browsing it seems to be sufficient. What I am considering doing > is > dragging a copy off onto my new laptops when they arrive. It is > definitely > cool to be able to set up a machine, then just drag an image over to > another > machine, install Virtual PC 2007 and fire it up and have everything > "instantly installed". Of course 30g doesn't just drag instantly, it will > definitely take 10 minutes or so. > > My wife's laptop died and she has been sharing my PC since. Then my > laptop > died. I think I will make a copy of the new virtual machine on one of the > servers, run it, make her a mcolby user as she had on her old machine, > install her old Outlook PST file and all her My Documents stuff and have > her > up and running in her own virtual machine. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From shamil at users.mns.ru Mon May 21 14:03:57 2007 From: shamil at users.mns.ru (Shamil Salakhetdinov) Date: Mon, 21 May 2007 23:03:57 +0400 Subject: [AccessD] Word documents and MS Access In-Reply-To: <0JIE00D8EHVIZM20@l-daemon> Message-ID: <000001c79bda$c8b43ea0$6401a8c0@nant> Hello Jim, VB6/VBA uses Unicode for String variables internally. If you will use MS Word Automation then you also use Unicode when getting text from MS Word tables. MS Access (since version 2000) also uses Unicode for text fields. Therefore I think that "2. Reading data out of Word documents into an Access database" doesn't need any specific handling including reading Cyrilic chars, which will be in Unicode. I have just tested this sample I mentioned before - http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm - it works OK with Cyrillic chars getting properly into MS Access 2003 tables. As for "Double-byte Character Sets; using them with Word documents and Access databases." - what do you mean by DBCS - is that a synonym of Unicode or MBCS? Have a look - http://en.wikipedia.org/wiki/DBCS : "Some people use DBCS to mean Unicode, specifically UTF-16, while other people use the term DBCS to mean older (pre-Unicode) code pages that use more than one byte per character. Shift-JIS, GB2312 and Big5 are a few code pages that can contain more than one byte per character, but even using the term DBCS for these code pages is incorrect terminology because these code pages are really MBCS (MultiByte Character Sets). Some IBM mainframes do have true DBCS code pages, which contain only the double byte portion of a multibyte code page." -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 9:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 21 14:16:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 15:16:18 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: Message-ID: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> When you say "as a gaming PC" what do you mean? In MS' VPC, the video is an emulation of a 2D S3 graphics card, which simply will not run modern 3D games (specifically MorrowWind). I understand that VMWare also does a software emulation, and the common consensus is that a software emulation of a 3D processor is too expensive to do (processor cycles). Are you playing modern games? BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 21, 2007 2:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). From jwcolby at colbyconsulting.com Mon May 21 14:23:28 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 21 May 2007 15:23:28 -0400 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <20070521192328.B9377BD54@smtp-auth.no-ip.com> >BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. I should have specified that I did this with the VMWare stuff. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 21, 2007 3:16 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OT: Virtual PC 2007 When you say "as a gaming PC" what do you mean? In MS' VPC, the video is an emulation of a 2D S3 graphics card, which simply will not run modern 3D games (specifically MorrowWind). I understand that VMWare also does a software emulation, and the common consensus is that a software emulation of a 3D processor is too expensive to do (processor cycles). Are you playing modern games? BTW, early this morning I made a "capture" or whatever they call it of one of my 2003 servers, but I have not yet mounted and played with it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Monday, May 21, 2007 2:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT: Virtual PC 2007 woo hoo John, :) Welcome to the world of virtualization... :). There is literally a free-ing experience when you move to virtual machines (in your case vpc). I don't remember the cause for USB support in VPC, but in VMware you are able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They also give you a "free" VMware Server that you can use on your server apps to run other servers or windows xp/linux etc machines. VMware doesn't give away the workstation for free, bu they do offer a VMware Converter product that allows you convert existing pc's into VM's I've used it well with great sucess although for XP you have to go through the whole re-activation process :S arg. other than that minor hiccup, it works extreamly well! While I also tried VPC from MS, I found that you must absolutly install the SPs before it runs halfway decently. Also I found that if you want to run VServer and want to automate the shutdown process for backups etc, it's much more cumbersome than in VMware where it's a single line batch file :). btw, it is worth looking into Vmware 6. It's paid off for me already w/ dual monitor support, usb2 and some 3d support, it works out really well as a gaming pc for my daughter (3yrs old) and me. :). -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From fhtapia at gmail.com Mon May 21 14:57:31 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Mon, 21 May 2007 12:57:31 -0700 Subject: [AccessD] OT: Virtual PC 2007 In-Reply-To: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: Well, I haven't tried an expensive GPU intensive game on it yet, I will load GTA San Andreas to see how it performs. Up until now it's been a gaming machine for my daughter's games, there is a 3D teletubies and 3D Thomas the tank engine which both run Directx7. Vmware 6 supports some though not all of Window Vista's Aero GUI. From what I read is that they will be supporting the full aero gui with an update release. On 5/21/07, jwcolby wrote: > > When you say "as a gaming PC" what do you mean? In MS' VPC, the video is > an > emulation of a 2D S3 graphics card, which simply will not run modern 3D > games (specifically MorrowWind). I understand that VMWare also does a > software emulation, and the common consensus is that a software emulation > of > a 3D processor is too expensive to do (processor cycles). > > Are you playing modern games? > > BTW, early this morning I made a "capture" or whatever they call it of one > of my 2003 servers, but I have not yet mounted and played with it. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Monday, May 21, 2007 2:57 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] OT: Virtual PC 2007 > > woo hoo John, :) > Welcome to the world of virtualization... :). There is > literally > a free-ing experience when you move to virtual machines (in your case > vpc). > I don't remember the cause for USB support in VPC, but in VMware you are > able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. They > also give you a "free" VMware Server that you can use on your server apps > to > run other servers or windows xp/linux etc machines. > > VMware doesn't give away the workstation for free, bu they do offer a > VMware > Converter product that allows you convert existing pc's into VM's I've > used > it well with great sucess although for XP you have to go through the whole > re-activation process :S arg. other than that minor hiccup, it works > extreamly well! > > While I also tried VPC from MS, I found that you must absolutly install > the > SPs before it runs halfway decently. Also I found that if you want to run > VServer and want to automate the shutdown process for backups etc, it's > much > more cumbersome than in VMware where it's a single line batch file :). > > btw, it is worth looking into Vmware 6. It's paid off for me already w/ > dual monitor support, usb2 and some 3d support, it works out really well > as > a gaming pc for my daughter (3yrs old) and me. :). > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From Kwilliamson at RTKL.com Mon May 21 15:43:49 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Mon, 21 May 2007 16:43:49 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: Anybody do anything with OLAP Cubes? I was at a conference this past weekend, and saw a demonstration of one. WOW!!! Very fast, and appeared easy to use. I use an Access database to store static month-end financial summaries, and additional information, to enable us to print our month-end reports (linked to our SQL-based application.) If these OLAP cubes are all they appear to be.....it will greatly decrease my processing speed for the financial statements. Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -------------------------------------------------------------------------------- The information contained in this communication is confidential, may be privileged and is intended for the exclusive use of the above named addressee(s). If you are not the intended recipient(s), you are expressly prohibited from copying, distributing, disseminating, or in any other way using any of the information contained within this communication. If you have received this communication in error, please contact the sender by telephone at (410) 537-6000 or by response via e-mail and permanently delete the original email and any copies. From fuller.artful at gmail.com Mon May 21 15:49:31 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Mon, 21 May 2007 16:49:31 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > -------------------------------------------------------------------------------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Kwilliamson at RTKL.com Mon May 21 16:04:12 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Mon, 21 May 2007 17:04:12 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 michael at ddisolutions.com.au Mon May 21 23:26:04 2007 From: michael at ddisolutions.com.au (Michael Maddison) Date: Tue, 22 May 2007 14:26:04 +1000 Subject: [AccessD] OLAP Cubes References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Tue May 22 00:21:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 21 May 2007 22:21:42 -0700 Subject: [AccessD] Visual APL Net Express In-Reply-To: <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> Message-ID: <46527DE6.20800@shaw.ca> For you Ken Iverson fans out there and have an APL keyboard (It looks like a two year old threw up spaghettios on it) I know the APL language is almost 50 years old but it was the first one that I learned, which accounts for my code. But it is the one language I would use for complex math especially financial economics or engineering structural analysis. For example to find the determinant of a matrix only requires a one character symbol "Rho" However to write the complex math libraries that accompany APL would take months in VBA or Vb.Net but since they may be written in a CLR form, they should be callable from Access. I'll have to test. Anyway a free Express form of APL.Net is available via a sign-up from APLNext http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx -- Marty Connelly Victoria, B.C. Canada From accessd at shaw.ca Tue May 22 04:13:17 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 02:13:17 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <4651E850.2040105@shaw.ca> Message-ID: <0JIF00KGRQQWZ3T0@l-daemon> HI Marty: Thanks for the information. I have been some experiments and this will be a great help Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 21, 2007 11:43 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Word documents and MS Access You can convert text or XML files encoded like ISO-8859-1 etc through 11 to UTF-8 or UTF-16. You can also specify window code pages like Chinese Big-5 See Charset in the registry This can be done via ADO streams and CharSets Sub ReadAnsiSaveFileInUTF8() ' ReadToFile / SaveToFile snippet ' Used ADO 2.7 Dim stm As ADODB.Stream Dim strPath As String Dim strData As String 'strPath = GetPath(CurrentDb.Name) ' or whatever your path is strPath = "C:\Access files\ADO\" Set stm = New ADODB.Stream stm.Open 'the character set names for the machine are in the registry 'For a list of the character set strings that is known by a system, see 'the subkeys of HKEY_CLASSES_ROOT\MIME\Database\Charset 'in the Windows Registry. stm.Charset = "ascii" 'case specific name depending on code page may have to use iso-8859-1 stm.Position = 0 stm.Type = adTypeText stm.LoadFromFile strPath & "Readme.txt" ' if you just try and dump out stream with Save ' without reading and writing you get double BOM and clobbered file. stm.Position = 0 strData = stm.ReadText() Debug.Print strData stm.Position = 0 'reset to beginning stm.Charset = "UTF-8" stm.WriteText (strData) stm.SaveToFile strPath & "ReadmeUTF8.txt", adSaveCreateOverWrite stm.Close Set stm = Nothing End Sub Arthur Fuller wrote: >100% correct, Stuart. I recently published an article about exactly this at >TechRepulic.comm. It doesn't apply specifically to Access; it was written >for the SQL Server crowd; but it may be convertible. No promises. I dealt >solely with the SQL 2000/2005 cases. In theory, the logic ought to work, but >I haven't tested it there. > >Visit www.techrepublic.com and search for stuff by me; it ought to be the >first or second or third reference. > >A. > > >On 5/20/07, Stuart McLachlan wrote: > > >>On 20 May 2007 at 13:20, Jim Lawrence wrote: >> >> >> >>>Hi All: >>> >>>I have two questions. They are both related. A client has approached me >>> >>> >>with >> >> >>>a particular project and I am wondering if anyone has experience with >>> >>> >>the >> >> >>>following: >>> >>>1. Double-byte Character Sets; using them with Word documents and Access >>>databases. >>> >>> >>A real PITA. >> >>>From http://msdn2.microsoft.com/en-us/library/ms776454.aspx >> >>"Note: New Windows applications should use Unicode to avoid the >>inconsistencies of varied code pages and for ease of localization. >>However, >>some legacy protocols might require the use of DBCS code pages. Each DBCS >>code page supports different characters, but no page supportsthe full >>breadth of characters provided by Unicode. Each DBCS code page supports a >>different subset, differently encoded. Data converted from one DBCS code >>page to another is subject to corruption because the same data value on >>different code pages can encode a different character. Data converted from >>Unicode to DBCS is subject to data loss, because a given code page might >>not be able to represent every character used in that particular Unicode >>data."-- >>Stuart >> >> -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Tue May 22 04:15:33 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 02:15:33 -0700 Subject: [AccessD] Word documents and MS Access In-Reply-To: <000001c79bda$c8b43ea0$6401a8c0@nant> Message-ID: <0JIF003APQUORCH0@l-daemon> Hi Shamil: Thanks to that. Much appreciated. Now I have to get down to it. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 12:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, VB6/VBA uses Unicode for String variables internally. If you will use MS Word Automation then you also use Unicode when getting text from MS Word tables. MS Access (since version 2000) also uses Unicode for text fields. Therefore I think that "2. Reading data out of Word documents into an Access database" doesn't need any specific handling including reading Cyrilic chars, which will be in Unicode. I have just tested this sample I mentioned before - http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm - it works OK with Cyrillic chars getting properly into MS Access 2003 tables. As for "Double-byte Character Sets; using them with Word documents and Access databases." - what do you mean by DBCS - is that a synonym of Unicode or MBCS? Have a look - http://en.wikipedia.org/wiki/DBCS : "Some people use DBCS to mean Unicode, specifically UTF-16, while other people use the term DBCS to mean older (pre-Unicode) code pages that use more than one byte per character. Shift-JIS, GB2312 and Big5 are a few code pages that can contain more than one byte per character, but even using the term DBCS for these code pages is incorrect terminology because these code pages are really MBCS (MultiByte Character Sets). Some IBM mainframes do have true DBCS code pages, which contain only the double byte portion of a multibyte code page." -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 9:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hi Shamil: Thanks for the links. I wonder how this code would handle 4 byte character sets and of course the information in the document would have to be in table format. Does this code handle Cyrillic characters? Are they just another 256 byte character set? Thanks again Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Monday, May 21, 2007 7:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Word documents and MS Access Hello Jim, Have a look at these topics with code samples: http://smsconsulting.spb.ru/shamil_s/topics/dfromw95.htm http://smsconsulting.spb.ru/shamil_s/topics/w95imp.htm HTH -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 21, 2007 12:20 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Word documents and MS Access Hi All: I have two questions. They are both related. A client has approached me with a particular project and I am wondering if anyone has experience with the following: 1. Double-byte Character Sets; using them with Word documents and Access databases. 2. Reading data out Word documents into an Access database. TIA 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 accessd at shaw.ca Tue May 22 05:29:35 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 03:29:35 -0700 Subject: [AccessD] Visual APL Net Express In-Reply-To: <46527DE6.20800@shaw.ca> Message-ID: <0JIF00BHUUA1HOK0@l-daemon> Hi Marty: Thanks for the info. I wonder just how many .Net extensions are now available? Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Monday, May 21, 2007 10:22 PM To: Access Developers discussion and problem solving Subject: [AccessD] Visual APL Net Express For you Ken Iverson fans out there and have an APL keyboard (It looks like a two year old threw up spaghettios on it) I know the APL language is almost 50 years old but it was the first one that I learned, which accounts for my code. But it is the one language I would use for complex math especially financial economics or engineering structural analysis. For example to find the determinant of a matrix only requires a one character symbol "Rho" However to write the complex math libraries that accompany APL would take months in VBA or Vb.Net but since they may be written in a CLR form, they should be callable from Access. I'll have to test. Anyway a free Express form of APL.Net is available via a sign-up from APLNext http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From accessd at shaw.ca Tue May 22 05:35:50 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 03:35:50 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <46527DE6.20800@shaw.ca> Message-ID: <0JIF00M6HUKGCHR0@l-daemon> Hi All: Would anyone be able to recommend a web hosting company? The site would have to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is a definite plus. TIA Regards Jim From jwcolby at colbyconsulting.com Tue May 22 05:43:58 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 06:43:58 -0400 Subject: [AccessD] Zip codes within a radius Message-ID: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.com From max.wanadoo at gmail.com Tue May 22 06:23:40 2007 From: max.wanadoo at gmail.com (Gmail) Date: Tue, 22 May 2007 12:23:40 +0100 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <46527DE6.20800@shaw.ca> <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <001201c79c63$a8f14cf0$8119fea9@LTVM> 1&1 Internet Inc. - Web Hosting Services and Domain Name RegistrationProviders of web hosting services, domain names, and email solutions for personal and business websites. Services include Linux and Microsoft hosting, ... www.1and1.com/ - 30k - Cached - Similar pages 1&1 Internet Ltd. Max Never take life seriously. Nobody gets out alive anyway. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, May 22, 2007 11:36 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Web site Hosting Companies Hi All: Would anyone be able to recommend a web hosting company? The site would have to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is a definite plus. TIA Regards Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Tue May 22 07:32:36 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Tue, 22 May 2007 08:32:36 -0400 Subject: [AccessD] Web site Hosting Companies References: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <001501c79c6d$47c83560$7d7d6c4c@jisshowsbs.local> ...I use Parcom.net for all my clients ...look at the customer satisfaction ratings. William Hindman ----- Original Message ----- From: "Jim Lawrence" To: "'Access Developers discussion and problem solving'" Sent: Tuesday, May 22, 2007 6:35 AM Subject: [AccessD] Web site Hosting Companies > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From mmattys at rochester.rr.com Tue May 22 07:49:32 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Tue, 22 May 2007 08:49:32 -0400 Subject: [AccessD] Zip codes within a radius References: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> Message-ID: <002401c79c6f$a5ebb7a0$0202a8c0@Laptop> Excellent work (as always). Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "jwcolby" To: "AccessD" Sent: Tuesday, May 22, 2007 6:43 AM Subject: [AccessD] Zip codes within a radius >I have posted a fully functioning demo database for finding all of the zip > codes within a radius. > > http://www.databaseadvisors.com/downloads.asp > > John W. Colby > Colby Consulting > www.ColbyConsulting.com From jwcolby at colbyconsulting.com Tue May 22 09:06:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 10:06:13 -0400 Subject: [AccessD] Using an SQL Express BE Message-ID: <20070522140615.DEEC7BE7E@smtp-auth.no-ip.com> I linked my billing database to an SQL Server 2005 Express database file. I stored the dbf file right in the same directory as my billing database FE. This is stored on an encrypted partition on my laptop, which has to be mounted when first used or after rebooting. Whenever the billing fe tried to use the file, it just worked. When my laptop died I moved the encrypted volumes to one of my Windows 2003 server, and attached the billing database file to SQL Server 2005 (the real banana). From there, after a boot SQL Server 2005 (the real banana) would try to mount the database after the reboot but because the encrypted file was not yet mounted, the database would have an icon in SQL Server but not "be there", and any attempt to use it would fail, even after mounting the encrypted volume. I would have to delete the database, then manually attach the file after mounting the encrypted file. It was such a PITA that I finally just pulled the database file out of the encrypted file and into a volume on the server, and mounted it there. I want to put the billing database file back in the encrypted volume, back on my new laptop. Will simply mounting it through the SQL Server express instance on the laptop "fix" the database mounting issue? Why did SQL Server Express correctly handle the dynamic mounting of the file? Is there any way to make the real banana handle this situation? John W. Colby Colby Consulting www.ColbyConsulting.com From adtp at hotmail.com Tue May 22 09:38:39 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 22 May 2007 20:08:39 +0530 Subject: [AccessD] Library Forms References: Message-ID: Hadyn, When a form in external db (featuring library reference), is opened in local db, it gets included in forms collection of local db and its controls can be accessed & acted upon via following sample syntax in local db's code: Forms("ExternalFormName")("LabelName").Caption However, any attempt to assign a local form as the SourceObject for a subform control located in such an external form, meets with failure, attracting a message implying (somewhat misleadingly) that Jet is unable to locate the subform control itself. Conclusion - Mixing up of objects between external and local db's is not permitted. Interestingly, if the local db has a form with exactly the same name as that of external form, it can be opened with direct click, even if external form with this name has already been opened via library reference. This is an unusual situations where the Forms collection of local db shows two forms with identical names. As a work-around for the functionality sought by you, temporary import of external form could be considered. With this, there would be no problem in using a local form as its subform. Ultimately, the imported form can be deleted if desired, before closing the local db. If the external form is a bound one, extra care would be needed so as to ensure that the record source continues to hold good, even though the relevant tables & queries are located in external db. This is done by using the FROM --- IN -- syntax in source SQL. Sample subroutine in click event of command button in local db, as given below, will carry out the following tasks: (a) Import the external form (F_External) under a temporary name. (b) Open the freshly imported form. (c) Assign appropriate caption to the label serving as heading. (d) Assign RecordSource to this form, based upon query named Q_Books belonging to external db. Special syntax using IN argument in FROM clause is used as shown (e) Assign a local form named F_LocalSub as SourceObject for subform control named SF_Sub, located on the imported form. Best wishes, A.D.Tejpal --------------- Sample Subroutine (Usung external form with local subform) =============================== Private Sub Cmd_A_Click() On Error Resume Next Dim Qst As String, FormName As String FormName = "FFF_ZZZ" ' Delete form FormName if existing DoCmd.DeleteObject acForm, FormName ' Import form F_External as FormName DoCmd.TransferDatabase acImport, _ "Microsoft Access", _ "ExternalDbPath", acForm, _ "F_External", FormName DoCmd.OpenForm FormName Forms(FormName)("LbHdg").Caption = _ "Form " & FormName & _ " (Imported From External Db)" ' Assign recordsource to parent form Qst = "SELECT * FROM Q_Books " & _ "IN '" & "ExternalDbPath" & "';" Forms(FormName).RecordSource = Qst ' Assign Subform to parent form Forms(FormName)("SF_Sub").SourceObject = _ "F_LocalSub" On Error GoTo 0 End Sub =============================== ----- Original Message ----- From: Hadyn Morgan To: Access Developers discussion and problem solving Sent: Monday, May 21, 2007 14:20 Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn From lembit.dbamail at t-online.de Tue May 22 10:23:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Tue, 22 May 2007 17:23:50 +0200 Subject: [AccessD] OT: Virtual PC 2007 References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> Message-ID: <003101c79c85$33588090$1800a8c0@s1800> thanks, Francisco and John, I have installed VM Player and Converter and converted my main PC and run it. works just fine. Now I have to find a good way where to store and how to acces the data for the various programs, so that I can run the main PC on a different box without fumblilng around with all the data access. I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, which is not a real problem, but if I want to extend this method to all my PCs (i.e., having a VM of each PC located somewhere for safety backup, all the PCs need to use only the NAS for data. Might have to build some hardware solution to turn on the NAS from a remote room.) Alternatively, keep backup of all data on the NAS and relink when I run from the VM. Lembit ----- Original Message ----- From: "Francisco Tapia" To: "Access Developers discussion and problem solving" Sent: Monday, May 21, 2007 9:57 PM Subject: Re: [AccessD] OT: Virtual PC 2007 > Well, I haven't tried an expensive GPU intensive game on it yet, I will > load > GTA San Andreas to see how it performs. Up until now it's been a gaming > machine for my daughter's games, there is a 3D teletubies and 3D Thomas > the > tank engine which both run Directx7. Vmware 6 supports some though not > all > of Window Vista's Aero GUI. From what I read is that they will be > supporting the full aero gui with an update release. > > On 5/21/07, jwcolby wrote: >> >> When you say "as a gaming PC" what do you mean? In MS' VPC, the video is >> an >> emulation of a 2D S3 graphics card, which simply will not run modern 3D >> games (specifically MorrowWind). I understand that VMWare also does a >> software emulation, and the common consensus is that a software emulation >> of >> a 3D processor is too expensive to do (processor cycles). >> >> Are you playing modern games? >> >> BTW, early this morning I made a "capture" or whatever they call it of >> one >> of my 2003 servers, but I have not yet mounted and played with it. >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.com >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco >> Tapia >> Sent: Monday, May 21, 2007 2:57 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] OT: Virtual PC 2007 >> >> woo hoo John, :) >> Welcome to the world of virtualization... :). There is >> literally >> a free-ing experience when you move to virtual machines (in your case >> vpc). >> I don't remember the cause for USB support in VPC, but in VMware you are >> able to use USB 1.1 in Vmware workstation 5 and USB 2.0 in VMware 6. >> They >> also give you a "free" VMware Server that you can use on your server apps >> to >> run other servers or windows xp/linux etc machines. >> >> VMware doesn't give away the workstation for free, bu they do offer a >> VMware >> Converter product that allows you convert existing pc's into VM's I've >> used >> it well with great sucess although for XP you have to go through the >> whole >> re-activation process :S arg. other than that minor hiccup, it works >> extreamly well! >> >> While I also tried VPC from MS, I found that you must absolutly install >> the >> SPs before it runs halfway decently. Also I found that if you want to >> run >> VServer and want to automate the shutdown process for backups etc, it's >> much >> more cumbersome than in VMware where it's a single line batch file :). >> >> btw, it is worth looking into Vmware 6. It's paid off for me already w/ >> dual monitor support, usb2 and some 3d support, it works out really well >> as >> a gaming pc for my daughter (3yrs old) and me. :). >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21.05.2007 > 14:01 > > From jedi at charm.net Tue May 22 11:43:34 2007 From: jedi at charm.net (Michael Bahr) Date: Tue, 22 May 2007 12:43:34 -0400 (EDT) Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <46527DE6.20800@shaw.ca> <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <1546.198.118.127.182.1179852214.squirrel@mail.expedient.net> Hi Jim, I used korksoft for a year until they became unresponsive. They would not answer emails, no phone support, no emergency contact info. They did in the beginning but not anymore. I also had a domain registered through them. When I tried to move it took 2 months communicating to the registrar to release my domain name again korksoft would not release the domain. I finally went with www.BlueHost.com. They currently have 300 GB storage, lots of email--however they are Linux based but they do have MySql database and FrontPage extensions. I have been happy for two years already. HTH, Mike... > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > Jim > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Tue May 22 12:37:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 10:37:53 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <1546.198.118.127.182.1179852214.squirrel@mail.expedient.net> Message-ID: <0JIG00FY3E3VHDE0@l-daemon> Thank you all for the info on sites. Please keep the information coming... Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Bahr Sent: Tuesday, May 22, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Web site Hosting Companies Hi Jim, I used korksoft for a year until they became unresponsive. They would not answer emails, no phone support, no emergency contact info. They did in the beginning but not anymore. I also had a domain registered through them. When I tried to move it took 2 months communicating to the registrar to release my domain name again korksoft would not release the domain. I finally went with www.BlueHost.com. They currently have 300 GB storage, lots of email--however they are Linux based but they do have MySql database and FrontPage extensions. I have been happy for two years already. HTH, Mike... > Hi All: > > Would anyone be able to recommend a web hosting company? The site would > have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price > is > a definite plus. > > TIA > > Regards > 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 Kwilliamson at RTKL.com Tue May 22 12:59:48 2007 From: Kwilliamson at RTKL.com (Keith Williamson) Date: Tue, 22 May 2007 13:59:48 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> <59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Message-ID: Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 hadyn at dataconcepts.co.nz Tue May 22 15:12:48 2007 From: hadyn at dataconcepts.co.nz (Hadyn Morgan) Date: Wed, 23 May 2007 08:12:48 +1200 Subject: [AccessD] Library Forms In-Reply-To: Message-ID: Thanks JC, Shamil and A.D. I had tried a number of variations and have decided to just include the main form in an application when needed. I have the calling routine in my library as it does a number of checks before opening the wizard. The temp import would be a great idea but I only provide mde's for client applications. Kind regards Hadyn -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of A.D.TEJPAL Sent: Wednesday, 23 May 2007 02:39 To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] Library Forms Hadyn, When a form in external db (featuring library reference), is opened in local db, it gets included in forms collection of local db and its controls can be accessed & acted upon via following sample syntax in local db's code: Forms("ExternalFormName")("LabelName").Caption However, any attempt to assign a local form as the SourceObject for a subform control located in such an external form, meets with failure, attracting a message implying (somewhat misleadingly) that Jet is unable to locate the subform control itself. Conclusion - Mixing up of objects between external and local db's is not permitted. Interestingly, if the local db has a form with exactly the same name as that of external form, it can be opened with direct click, even if external form with this name has already been opened via library reference. This is an unusual situations where the Forms collection of local db shows two forms with identical names. As a work-around for the functionality sought by you, temporary import of external form could be considered. With this, there would be no problem in using a local form as its subform. Ultimately, the imported form can be deleted if desired, before closing the local db. If the external form is a bound one, extra care would be needed so as to ensure that the record source continues to hold good, even though the relevant tables & queries are located in external db. This is done by using the FROM --- IN -- syntax in source SQL. Sample subroutine in click event of command button in local db, as given below, will carry out the following tasks: (a) Import the external form (F_External) under a temporary name. (b) Open the freshly imported form. (c) Assign appropriate caption to the label serving as heading. (d) Assign RecordSource to this form, based upon query named Q_Books belonging to external db. Special syntax using IN argument in FROM clause is used as shown (e) Assign a local form named F_LocalSub as SourceObject for subform control named SF_Sub, located on the imported form. Best wishes, A.D.Tejpal --------------- Sample Subroutine (Usung external form with local subform) =============================== Private Sub Cmd_A_Click() On Error Resume Next Dim Qst As String, FormName As String FormName = "FFF_ZZZ" ' Delete form FormName if existing DoCmd.DeleteObject acForm, FormName ' Import form F_External as FormName DoCmd.TransferDatabase acImport, _ "Microsoft Access", _ "ExternalDbPath", acForm, _ "F_External", FormName DoCmd.OpenForm FormName Forms(FormName)("LbHdg").Caption = _ "Form " & FormName & _ " (Imported From External Db)" ' Assign recordsource to parent form Qst = "SELECT * FROM Q_Books " & _ "IN '" & "ExternalDbPath" & "';" Forms(FormName).RecordSource = Qst ' Assign Subform to parent form Forms(FormName)("SF_Sub").SourceObject = _ "F_LocalSub" On Error GoTo 0 End Sub =============================== ----- Original Message ----- From: Hadyn Morgan To: Access Developers discussion and problem solving Sent: Monday, May 21, 2007 14:20 Subject: [AccessD] Library Forms Hi guys I have developed a wizard for a project which uses the same main wizard form and various sets of subforms to complete different processes. It works well and I would like to add the main form as part of my standard library so I can have customised wizards for any project. Question: Can a library (CodeDb) form have an application (CurrentDb) form as a subform? If so, how? Cheers Hadyn -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21/05/2007 14:01 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22/05/2007 15:49 From ssharkins at setel.com Tue May 22 17:41:15 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 22 May 2007 18:41:15 -0400 Subject: [AccessD] Bibliography db Message-ID: <002201c79cc2$4edf8b50$19bc2ad1@SusanOne> Some of you know that I write non-fiction for children. Non-fiction requires a lot of footnotes and although Word keeps up with them Okay, the whole routine is taking more time than I think it should. The reason is that the manuscripts must be clean -- no formatted footnotes, etc. That means, I have to copy them all to another doc and then delete all the numbers in the document and renumber -- then I have to make copies of the source of each note and check before submitting -- and that alone takes about half a day. There has got to be an easier way so it hit me today -- why not my own db? What I'd like to do is relate the fn numbers in the text to a record that contains the actual text and a scanned copy of the resource text. Then, all I have to do is print a report for a quick visual scan. I can save a scanned page as a Word doc, which treats it as a pic file, not true text. I'm just kind of thinking this over in my head. I don't even have any questions, just wondering if any of you have any advise for working with scan docs? Susan H. From newsgrps at dalyn.co.nz Tue May 22 17:47:55 2007 From: newsgrps at dalyn.co.nz (David Emerson) Date: Wed, 23 May 2007 10:47:55 +1200 Subject: [AccessD] Convert Dot Net to C# Message-ID: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Recently someone posted a link to a web site that did conversions between C# and VB.Net. I can't find it in the archives. Can anyone point me in the right direction? Regards David Emerson Dalyn Software Ltd Wellington, New Zealand From davidmcafee at gmail.com Tue May 22 18:41:27 2007 From: davidmcafee at gmail.com (David McAfee) Date: Tue, 22 May 2007 16:41:27 -0700 Subject: [AccessD] Convert Dot Net to C# In-Reply-To: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> References: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <8786a4c00705221641h68f3088akf2ce9c9d64f63b8e@mail.gmail.com> Here you go: http://www.carlosag.net/Tools/CodeTranslator/Default.aspx Its been running a little slow lately. Probably from me giving out the link so much ;) On 5/22/07, David Emerson wrote: > > Recently someone posted a link to a web site that did conversions > between C# and VB.Net. I can't find it in the archives. Can anyone > point me in the right direction? > > 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 accessd at shaw.ca Tue May 22 18:48:37 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 16:48:37 -0700 Subject: [AccessD] Convert Dot Net to C# In-Reply-To: <20070522224801.CWZH7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <0JIG00HV5V82CSF0@l-daemon> Hi David: You can get the link off the DBA site from the main/index 10th or 11th article down. (http://www.databaseadvisors.com) HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Tuesday, May 22, 2007 3:48 PM To: accessd at databaseadvisors.com Subject: [AccessD] Convert Dot Net to C# Recently someone posted a link to a web site that did conversions between C# and VB.Net. I can't find it in the archives. Can anyone point me in the right direction? 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 michael at ddisolutions.com.au Tue May 22 18:50:17 2007 From: michael at ddisolutions.com.au (Michael Maddison) Date: Wed, 23 May 2007 09:50:17 +1000 Subject: [AccessD] OLAP Cubes References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com><29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com><59A61174B1F5B54B97FD4ADDE71E7D012897C9@ddi-01.DDI.local> Message-ID: <59A61174B1F5B54B97FD4ADDE71E7D012897D4@ddi-01.DDI.local> Keith, Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. >>>Not sure what you mean. I could schedule MS Analysis Server (AS) to run nightly but that wont help because the data is updated monthly ;-). Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? >>>Excel is just a FE for the OLAP cubes. You connect to it like any other data source, except it has its own wizard IIRC. The data is then presented using the crosstab interface. There are other FE available or you can query the data directly using MDX. MDX is the MS OLAP query language, warning... its not very similar to SQL. A cube has 3 components. A Fact table, Dimensions and Measures. Your main view will be the Fact table. From the Fact table you will select your Measures and Dimensions. Dimensions are the key data fields you want to use to 'slice' your cube. Examples are Date/Time, geographical area, names, products etc. Measures are the values you want to slice. Revenue, costs etc. It's the dimensions and measures that AS preprocess so that when viewed in FE the results are already stored. It is logical that the more measures and dimensions you have the more work AS has to do. Take care as the growth can be exponential if you screw up a dimension ;-) My tip is to start out small, few rows, couple of dimensions, a couple of measures. You will work out the basics pretty quickly. HTH Michael M Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Tue May 22 18:52:46 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 22 May 2007 19:52:46 -0400 Subject: [AccessD] Visual APL Net Express In-Reply-To: <46527DE6.20800@shaw.ca> References: <20070521191619.527C7BBF5@smtp-auth.no-ip.com> <29f585dd0705211349o7d0531c3k85bbc422ebdd7aeb@mail.gmail.com> <46527DE6.20800@shaw.ca> Message-ID: <29f585dd0705221652p7d16c659v1f7f3166af0d38ea@mail.gmail.com> Marty, APL may be 50 years old but I am 60, and I pray that you won't toss me into the dustbin just because of that. APL is WAY powerful. Weird, to be sure. But you can express in about a dozen characters what would require 100 or 1000 lines in many other languages. Matrix multiplication, for example, is trivial in apl. And as you mentioned, complex math (by which I assume you intended complex numbers) are equally trivial to express. About 5 characters says it all. Of course, these characters are not readily available on the standard keyboard, without an overlay, but that's beside the point. APL can do things that make C look positively verbose, and that's no cheap trick. I have not exactly worked with APL but have documented some reasonably complex APL programs, and been totally wowed by the concision of the syntax. Like regex but for math not strings. Awesome language, IMHO. A dotNet version of same is a very intriguing possibility. Not to be investigated by me immediately. At the moment I'm having a lot of fun learning WSH. I thought it was going to be a slow learn, but you'd be amazed how well such languages as VBA prepare you for such a new turf. In fact, it doesn't even feel new. It's everything I already learned, cast in a slightly new shadow. APL is a different kettle of fish. If you're not deep into math, then what it can do will probably sail way over your head. But if you need math, and matrices, etc., APL still stands, lo these many years later, as perhaps the most optimal language. IMHO. I don't profess expertise, to be sure, but I've documented some APL apps, and looked at 6 lines of code, and thought, that would take 1000 lines in some other language I know. I will visit this site immediately and grab their thingie. This excites me! I like math. Not everyone does. That's ok. A. On 5/22/07, MartyConnelly wrote: > > For you Ken Iverson fans out there and have an APL keyboard > (It looks like a two year old threw up spaghettios on it) > I know the APL language is almost 50 years old but it was the first > one that I learned, which accounts for my code. > But it is the one language I would use for complex math especially > financial economics or engineering structural analysis. > For example to find the determinant of a matrix only requires > a one character symbol "Rho" > > However to write the complex math libraries that accompany APL > would take months in VBA or Vb.Net but since they may be written > in a CLR form, they should be callable from Access. I'll have to test. > > Anyway a free Express form of APL.Net is available via a sign-up from > APLNext > > http://www.visualapl.com/VisualAPL/features/goexpress/Default.aspx > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From dwaters at usinternet.com Tue May 22 19:48:17 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 22 May 2007 19:48:17 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters From miscellany at mvps.org Tue May 22 20:12:40 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 23 May 2007 13:12:40 +1200 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> References: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <46539508.309@mvps.org> Jim, I do a lot of stuff in an account at www.webhost4life.com. I have been very happy with them, and as far as I know, you can't beat their features/dollar offerings. For excellence in support and service, www.orcsweb.com are fantastic, but the price is a lot higher. Regards Steve Jim Lawrence wrote: > Hi All: > > Would anyone be able to recommend a web hosting company? The site would have > to support Microsoft products like ASP, ASP.Net and MS SQL. A good price is > a definite plus. > From accessd at shaw.ca Tue May 22 21:14:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 22 May 2007 19:14:06 -0700 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Message-ID: <0JIH00GL61XIVW90@l-daemon> Hi Dan: Off hand you could use it to stop a function or subroutine from proceeding to end of its code when starting another process like opening a form. It pauses the caller routine. Example: ... gbCalendarFlag = True DoCmd.OpenForm "RECalendar" Do While gbCalendarFlag = True DoEvents Loop ... ' Save the date selected. The above code spawns a calendar form and then waits at that position in the code until the public variable 'gbCalendarFlag' changes from initial setting of TRUE. This is changed within the 'RECalendar' form when clicking the EXIT button. It is very handy and can not be managed any other way except with more code. HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 5:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 22 21:21:40 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 22 May 2007 22:21:40 -0400 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> Message-ID: <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From keith at williamson5.name Tue May 22 21:23:14 2007 From: keith at williamson5.name (Keith Williamson) Date: Tue, 22 May 2007 22:23:14 -0400 Subject: [AccessD] OLAP Cubes In-Reply-To: <59A61174B1F5B54B97FD4ADDE71E7D012897D4@ddi-01.DDI.local> Message-ID: <002e01c79ce1$548a6880$7f01a8c0@KeithHome> Michael, Thanks for your help. I'll be working with this soon. Regards, Keith Williamson -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 7:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, Michael, Couldn't you just schedule your Access view to run nightly? Seems like this will work well, for my needs. >>>Not sure what you mean. I could schedule MS Analysis Server (AS) to run nightly but that wont help because the data is updated monthly ;-). Newbie question though....does the cube data reside within the Excel spreadsheet (sort of hidden)....or does it warehouse the data wherever you want it? >>>Excel is just a FE for the OLAP cubes. You connect to it like any other data source, except it has its own wizard IIRC. The data is then presented using the crosstab interface. There are other FE available or you can query the data directly using MDX. MDX is the MS OLAP query language, warning... its not very similar to SQL. A cube has 3 components. A Fact table, Dimensions and Measures. Your main view will be the Fact table. From the Fact table you will select your Measures and Dimensions. Dimensions are the key data fields you want to use to 'slice' your cube. Examples are Date/Time, geographical area, names, products etc. Measures are the values you want to slice. Revenue, costs etc. It's the dimensions and measures that AS preprocess so that when viewed in FE the results are already stored. It is logical that the more measures and dimensions you have the more work AS has to do. Take care as the growth can be exponential if you screw up a dimension ;-) My tip is to start out small, few rows, couple of dimensions, a couple of measures. You will work out the basics pretty quickly. HTH Michael M Thanks, Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Maddison Sent: Tuesday, May 22, 2007 12:26 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes Keith, I believe you would do the join in Access so you should not have major dramas. Create a view based on your separate db's, use the view as the fact table. In my experience the more complex the view the longer it takes to process the cube. However once its processed then you are gold. I have a very complex (fugly) query, about 5mill rows in the fact table, takes a couple of hours to process once a month. Looked at again just the other day, gawd its ugly, still gives the correct results so I gave up... cheers Michael M Do you know if you can join separate databases (SQL and Access) in the cube datastream? Is there really any limitation on how complex the sql statement is? My financial statements are based on a couple complex, nested queries (joining both my access tables and the application sql tables). Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland 21231-3305 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Monday, May 21, 2007 4:50 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLAP Cubes They ARE all they appear to be, but you must understand one thing: they must be created beforehand. That can take a while. On the other hand, once they have been created, updating them with new data is relatively trivial. They pre-compute all their results, which is why everything is instantaneous, but for sure they WOW the managerial types. I'm no expert, but my rule of thumb so far is, create a dimension for every foreign key, plus the date dimension of course. The latter automatically divides the data into units such as year, quarter, month and week. Have fun! Arthur On 5/21/07, Keith Williamson wrote: > > Anybody do anything with OLAP Cubes? I was at a conference this past > weekend, and saw a demonstration of one. WOW!!! Very fast, and > appeared easy to use. I use an Access database to store static > month-end financial summaries, and additional information, to enable us > to print our month-end reports (linked to our SQL-based application.) > If these OLAP cubes are all they appear to be.....it will greatly > decrease my processing speed for the financial statements. > > Keith E. Williamson | Assist. Controller| kwilliamson at rtkl.com > > RTKL Associates Inc. | 901 South Bond Street | Baltimore, Maryland > 21231-3305 > > 410-537-6098 direct | 410-276-4182 fax | www.rtkl.com > > ------------------------------------------------------------------------ -------- > The information contained in this communication is confidential, may be > privileged and is intended for the exclusive use of the above named > addressee(s). If you are not the intended recipient(s), you are expressly > prohibited from copying, distributing, disseminating, or in any other way > using any of the information contained within this communication. If you > have received this communication in error, please contact the sender by > telephone at (410) 537-6000 or by response via e-mail and permanently delete > the original email and any copies. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 kp at sdsonline.net Tue May 22 22:47:44 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Wed, 23 May 2007 13:47:44 +1000 Subject: [AccessD] Select statement with variable as field name Message-ID: <000801c79ced$2038e410$6401a8c0@office> Can anyone tell me how to do this.... TblSurvey2006 as 50 yes/no fields. On a form, the user selects 1 of 50 possible fields from a combo (cboInterests). When they do that I want to count the no. of records in the table where *that field* has been ticked as true. Here is what I have so far which I know is wrong because of strFieldName - *do* you use a variable as a field name?? I thought using eval might be the answer but no luck with that so far either... Dim intnorecs as integer Dim strFieldName as string strFieldName = me.cbointerests intnorecs = DCount ("[surveypersonid]", "tblSurvey2006", "strFieldName = -1") ______________________________________ Kath Pelletti From stuart at lexacorp.com.pg Tue May 22 22:56:18 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Wed, 23 May 2007 13:56:18 +1000 Subject: [AccessD] Select statement with variable as field name In-Reply-To: <000801c79ced$2038e410$6401a8c0@office> References: <000801c79ced$2038e410$6401a8c0@office> Message-ID: <46544802.10111.669B8402@stuart.lexacorp.com.pg> On 23 May 2007 at 13:47, Kath Pelletti wrote: > > On a form, the user selects 1 of 50 possible fields from a combo > (cboInterests). When they do that I want to count the no. of records > in the table where *that field* has been ticked as true. > > Here is what I have so far which I know is wrong because of > strFieldName - *do* you use a variable as a field name?? I thought > using eval might be the answer but no luck with that so far either... > > Dim intnorecs as integer > Dim strFieldName as string > strFieldName = me.cbointerests intnorecs = DCount ("*", "tblSurvey2006", strFieldName & " = -1") From kp at sdsonline.net Tue May 22 23:10:56 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Wed, 23 May 2007 14:10:56 +1000 Subject: [AccessD] Select statement with variable as field name References: <000801c79ced$2038e410$6401a8c0@office> <46544802.10111.669B8402@stuart.lexacorp.com.pg> Message-ID: <001c01c79cf0$5dce8c50$6401a8c0@office> Thanks Stuart - perfect Kath ----- Original Message ----- From: Stuart McLachlan To: Access Developers discussion and problem solving Sent: Wednesday, May 23, 2007 1:56 PM Subject: Re: [AccessD] Select statement with variable as field name On 23 May 2007 at 13:47, Kath Pelletti wrote: > > On a form, the user selects 1 of 50 possible fields from a combo > (cboInterests). When they do that I want to count the no. of records > in the table where *that field* has been ticked as true. > > Here is what I have so far which I know is wrong because of > strFieldName - *do* you use a variable as a field name?? I thought > using eval might be the answer but no luck with that so far either... > > Dim intnorecs as integer > Dim strFieldName as string > strFieldName = me.cbointerests intnorecs = DCount ("*", "tblSurvey2006", strFieldName & " = -1") -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kathryn at bassett.net Wed May 23 00:27:06 2007 From: kathryn at bassett.net (Kathryn Bassett) Date: Tue, 22 May 2007 22:27:06 -0700 Subject: [AccessD] Web site Hosting Companies In-Reply-To: <0JIF00M6HUKGCHR0@l-daemon> Message-ID: <009b01c79cfb$01cbdb50$6501a8c0@Kathryn> http://icdsoft.com - I have been using them for 4 years now, have more than a dozen sites with them, and have NEVER had any down time. Though there is no phone support, I'm very pleased with their SureSupport ticket system. They always get back with me in less than half hour, usually within 10 minutes. The longest solution was a couple hours from start to finish and that's because I asked about something complicated that required research on their part, but I knew it would before I asked about it. If you use them, you can choose either the Hong Kong or US server farm. (Mine are about half and half). Check out the pics at http://www.icdsoft.com/datai.php (links under Production Servers) - the server farm is the largest in the world. -- Kathryn Rhinehart Bassett (Pasadena CA) "Genealogy is my bag" "GH is my soap" kathryn at bassett.net http://bassett.net > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Jim Lawrence > Sent: 22 May 2007 3:36 am > To: 'Access Developers discussion and problem solving' > Subject: [AccessD] Web site Hosting Companies > > Hi All: > > Would anyone be able to recommend a web hosting company? The > site would have to support Microsoft products like ASP, > ASP.Net and MS SQL. A good price is a definite plus. > > TIA > > Regards > Jim No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21 May 07 2:01 pm From Gustav at cactus.dk Wed May 23 03:09:52 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 10:09:52 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. From lembit.dbamail at t-online.de Wed May 23 03:45:58 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 23 May 2007 10:45:58 +0200 Subject: [AccessD] OT: Virtual PC 2007 References: Message-ID: <004c01c79d16$c9583130$1800a8c0@s1800> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22.05.2007 15:49 From Gustav at cactus.dk Wed May 23 06:25:47 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 13:25:47 +0200 Subject: [AccessD] OT: Virtual PC 2007 Message-ID: Hi Lembit Perhaps you could use Windows as the host OS for the NAS and then adjust power savings to spin down the harddrives when not in use? Or, of course, use the new and evolving solid state hard"drives" ... /gustav >>> lembit.dbamail at t-online.de 23-05-2007 10:45 >>> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. From Gustav at cactus.dk Wed May 23 06:47:11 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 13:47:11 +0200 Subject: [AccessD] Bibliography db Message-ID: Hi Susan We've done this (the scan thing, not the non-fiction for children) for a document archive for one of our clients. A third-party ocx was used, csXImage. I wrote about it in 2005: http://databaseadvisors.com/pipermail/accessd/2005-December/040592.html /gustav >>> ssharkins at setel.com 23-05-2007 00:41 >>> Some of you know that I write non-fiction for children. Non-fiction requires a lot of footnotes and although Word keeps up with them Okay, the whole routine is taking more time than I think it should. The reason is that the manuscripts must be clean -- no formatted footnotes, etc. That means, I have to copy them all to another doc and then delete all the numbers in the document and renumber -- then I have to make copies of the source of each note and check before submitting -- and that alone takes about half a day. There has got to be an easier way so it hit me today -- why not my own db? What I'd like to do is relate the fn numbers in the text to a record that contains the actual text and a scanned copy of the resource text. Then, all I have to do is print a report for a quick visual scan. I can save a scanned page as a Word doc, which treats it as a pic file, not true text. I'm just kind of thinking this over in my head. I don't even have any questions, just wondering if any of you have any advise for working with scan docs? Susan H. From lembit.dbamail at t-online.de Wed May 23 06:52:41 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Wed, 23 May 2007 13:52:41 +0200 Subject: [AccessD] [dba-Tech] OT: Virtual PC 2007 References: Message-ID: <000801c79d30$deb1be10$1800a8c0@s1800> (moving to dba-Tech) yes, Gustav, that will probably be the best solution. In fact I have started plannig such a box some days ago. It should be able to even wake that box up from any PC with WakeOnLan. I guess multiple wakeups wont hurt. And since I will use only SATA drives, it will be easy to plug them into any other PC in case of HW or SW problems of this box. BTW, this is the reason I dropped the idea of the NASlite box, as the file system is not compatible. Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 1:25 PM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Perhaps you could use Windows as the host OS for the NAS and then adjust power savings to spin down the harddrives when not in use? Or, of course, use the new and evolving solid state hard"drives" ... /gustav >>> lembit.dbamail at t-online.de 23-05-2007 10:45 >>> thank you, Gustav, I'm more worried about the lifetime of the HDs than the power consumption. MTBF would go to 1/3 when I go from 8 to 24 hours per day Lembit ----- Original Message ----- From: "Gustav Brock" To: Sent: Wednesday, May 23, 2007 10:09 AM Subject: Re: [AccessD] OT: Virtual PC 2007 Hi Lembit Yes, leave it running at all times. To care for power consumption you may choose to equip it with 2?" harddrives. /gustav >>> lembit.dbamail at t-online.de 22-05-2007 17:23 >>> I could put all the data on the NAS, but then I would have to turn the NAS on each time I turn the PC on, .. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.6/815 - Release Date: 22.05.2007 15:49 From hollisvj at pgdp.usec.com Wed May 23 08:12:54 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Wed, 23 May 2007 08:12:54 -0500 Subject: [AccessD] Parse Year Message-ID: <703BDA18A87DFA4CB265A86F42E4178D02491F37@c2k3exchange.pgdp.corp.usec.com> How do I parse out the year in a query for dates in this format? 5/2/2005 10:23:44 AM I need to create a query from Access data for a graph in Excel. The graph needs to show the total number of projects completed each year. The dates are formatted as shown above so I need to get the year to group them by the year. Virginia From Gustav at cactus.dk Wed May 23 08:18:59 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 15:18:59 +0200 Subject: [AccessD] Parse Year Message-ID: Hi Virginia Like this: intYear = Year(DateValue("5/2/2005 10:23:44 AM")) /gustav >>> hollisvj at pgdp.usec.com 23-05-2007 15:12 >>> How do I parse out the year in a query for dates in this format? 5/2/2005 10:23:44 AM I need to create a query from Access data for a graph in Excel. The graph needs to show the total number of projects completed each year. The dates are formatted as shown above so I need to get the year to group them by the year. Virginia From pcs at azizaz.com Wed May 23 08:44:48 2007 From: pcs at azizaz.com (pcs at azizaz.com) Date: Wed, 23 May 2007 23:44:48 +1000 (EST) Subject: [AccessD] OT Vista User Account Control Message-ID: <20070523234448.CUR14391@dommail.onthenet.com.au> Hello, Does any one know how to turn the User Account Control (UAC) thingie off in VISTA??? I am opening an exe file VISTA responds with: "An Unidentified Program wants access to your computer" ..and one option you are given is to: "Allow. I trust this program. I've used it before and I know where it is coming from" Now, how many fricking times do one have to affirm this! What's the procedure to get this file on a whitelist or similar so this nonsense will go away..... I have been reading about the User Account Control on Microsoft's website, but.... is it just me that doesn't get it? Regards borge From dwaters at usinternet.com Wed May 23 08:57:31 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 23 May 2007 08:57:31 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> References: <000c01c79cd4$0e8a1a40$0200a8c0@danwaters> <20070523022142.81BEEBCF5@smtp-auth.no-ip.com> Message-ID: <000001c79d42$4ed78ce0$0200a8c0@danwaters> John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 setel.com Wed May 23 08:57:25 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 23 May 2007 09:57:25 -0400 Subject: [AccessD] Bibliography db In-Reply-To: References: Message-ID: <003201c79d42$52bc6830$e0bc2ad1@SusanOne> Thanks Gustav, I'll take a look. Susan H. We've done this (the scan thing, not the non-fiction for children) for a document archive for one of our clients. A third-party ocx was used, csXImage. I wrote about it in 2005: http://databaseadvisors.com/pipermail/accessd/2005-December/040592.html From andy at minstersystems.co.uk Wed May 23 09:22:33 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Wed, 23 May 2007 15:22:33 +0100 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 From krosenstiel at comcast.net Wed May 23 09:50:31 2007 From: krosenstiel at comcast.net (krosenstiel at comcast.net) Date: Wed, 23 May 2007 14:50:31 +0000 Subject: [AccessD] OT Vista User Account Control Message-ID: <052320071450.23377.465454B7000364B800005B512215575114040A079B9C020A9C019D05@comcast.net> Here you go (watch the wrap): http://technet2.microsoft.com/WindowsVista/en/library/0d75f774-8514-4c9e-ac08-4c21f5c6c2d91033.mspx?mfr=true I also found this feature annoying at first, but after I studied it, I saw its value and decided to keep it on, especially since it is my laptop and I may be using it in public places. It protects against rootkits and other nasties. -- Karen Rosenstiel Seattle WA USA -------------- Original message ---------------------- From: > > Hello, > > Does any one know how to turn the User Account Control (UAC) > thingie off in VISTA??? > > I am opening an exe file > > VISTA responds with: > "An Unidentified Program wants access to your computer" > > ..and one option you are given is to: > > "Allow. I trust this program. I've used it before and I know > where it is coming from" > > Now, how many fricking times do one have to affirm this! > > What's the procedure to get this file on a whitelist or > similar so this nonsense will go away..... > > I have been reading about the User Account Control on > Microsoft's website, but.... is it just me that doesn't get > it? > > Regards > borge > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From dwaters at usinternet.com Wed May 23 09:50:57 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 23 May 2007 09:50:57 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523142237.E76842BCECF@smtp.nildram.co.uk> References: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Message-ID: <000a01c79d49$c610c630$0200a8c0@danwaters> Slick! Thanks Andy! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Wed May 23 10:23:24 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 10:23:24 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <20070523142237.E76842BCECF@smtp.nildram.co.uk> Message-ID: I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From accessd at shaw.ca Wed May 23 11:27:22 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Wed, 23 May 2007 09:27:22 -0700 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: Message-ID: <0JII00AWB5HZJA00@l-daemon> Hi Jim: Would it be simple to just: 1. Start the batch file 2. Sit within a do event loop the monitors a file that the batch file creates when the batch process is finished. Batch command like: dir > c:\MyTemp\FlagFile.txt 3. A soon as 'FlagFile.txt' exists the DoEvents process ends and the 'Kill' processes are run. ...Like: varFlagFile = "c:\MyTemp\FlagFile.txt" varAns = Shell(strBatfile) varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 20) Do While not (Dir(varFlagFile) > "") or (varTime < TimeSerial(now()) DoEvents Loop Kill strBatfile Kill strCmdfile Kill varFlagFile You could also add a timeout condition in case the batch file tanks and the 'FlagFile.txt' never gets created. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 23, 2007 8:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DElam at jenkens.com Wed May 23 11:35:38 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Wed, 23 May 2007 11:35:38 -0500 Subject: [AccessD] OnNoData error Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie From Gustav at cactus.dk Wed May 23 11:36:58 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Wed, 23 May 2007 18:36:58 +0200 Subject: [AccessD] DoEvents - How should this command be used in Access? Message-ID: Hi Jim You could use ShellWait to pause the code until the batch file quits: http://databaseadvisors.com/pipermail/accessd/2004-May/023342.html /gustav >>> Jim.Hale at fleetpride.com 23-05-2007 17:23 >>> I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile From Jim.Hale at FleetPride.com Wed May 23 13:44:09 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:44:09 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: Message-ID: Thanks Gustav, I tried this back when it was posted and had no luck. I'll give it another go. Thanks Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Wednesday, May 23, 2007 11:37 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Hi Jim You could use ShellWait to pause the code until the batch file quits: http://databaseadvisors.com/pipermail/accessd/2004-May/023342.html /gustav >>> Jim.Hale at fleetpride.com 23-05-2007 17:23 >>> I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From Jim.Hale at FleetPride.com Wed May 23 13:45:15 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:45:15 -0500 Subject: [AccessD] DoEvents - How should this command be used in Access? In-Reply-To: <0JII00AWB5HZJA00@l-daemon> Message-ID: That sounds interesting. I'll try it, thanks Jim hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, May 23, 2007 11:27 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Hi Jim: Would it be simple to just: 1. Start the batch file 2. Sit within a do event loop the monitors a file that the batch file creates when the batch process is finished. Batch command like: dir > c:\MyTemp\FlagFile.txt 3. A soon as 'FlagFile.txt' exists the DoEvents process ends and the 'Kill' processes are run. ...Like: varFlagFile = "c:\MyTemp\FlagFile.txt" varAns = Shell(strBatfile) varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 20) Do While not (Dir(varFlagFile) > "") or (varTime < TimeSerial(now()) DoEvents Loop Kill strBatfile Kill strCmdfile Kill varFlagFile You could also add a timeout condition in case the batch file tanks and the 'FlagFile.txt' never gets created. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hale, Jim Sent: Wednesday, May 23, 2007 8:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? I have a similar issue where I shell out to run a bat file and then kill the bat file. The problem is Access continues to run and sometimes attempts to kill the file before it has finished running generating an error. I put in a timing loop but this strikes me as a little klutzy. Is there a better way? TIA Jim Hale varAns = Shell(strBatfile) 'run bat file to load prn file to AS400 Batfile = True varTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) Application.Wait varTime Kill strBatfile Kill strCmdfile -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Wednesday, May 23, 2007 9:23 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, FWIW for this kind of operation I set up a loop along the lines of Do While Dir(strWhatever)="" DoEvents Loop which will keep checking until the file appears BUT I then wrap that in a timer routine so that it doesn't loop forever. So store the date/time before you start the loop and after the DoEvents exit the loop smoothly with a message if it's taken over, say, 15 seconds or whatever you think reasonable in your case. -- Andy Lacey http://www.minstersystems.co.uk --------- Original Message -------- From: "Access Developers discussion and problem solving" To: "'Access Developers discussion and problem solving'" Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Date: 23/05/07 14:00 John & Jim, Thanks for your explanations. Would you believe that I now understand what Help was trying to say? The problem I was having is when a file was copied from a server to a client temp folder and then immediately opened by hyperlink. Occasionally an error would be recorded which said "Can't find file", so I guessed that the copying by Windows wasn't complete so the file couldn't be opened. I'll put DoEvents in front of the hyperlink code and see how it goes! Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 9:22 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] DoEvents - How should this command be used in Access? Dan, >Where would it be useful to use the DoEvents command be used in an >Access application? It is used inside of tight loops when you want to allow the operating system, or your application, to perform some other business. For example if you were to open a million records in a table and start formatting them and pushing them out to a text file, the process of doing so would lock a lot of computers up tight, in fact pretty much any single core machine. You could actually try to update a control on a form with perhaps a line number or something and the text box would not change, even though you were writing to it. The reason is simply that the VB application is not yielding any processor cycles back to Windows to allow it time to refresh the screen. By placing a DoEvents inside of the loop you can allow the mouse to move, text boxes to update, even entire other applications to do some (though still probably not much) processing. You need to understand what you are doing however when you use DoEvents. Each call to Doevents can take a fair amount of time, depending on what else the OS is trying to do. As a result you can slow down the program quite a bit. If speed nis important however you might want to call DoEvents every 100th iteration of the loop or something like that. In the lingo, there is "pre-emptive multi-tasking" (the OS slices up time and assigns slices to tasks) and co-operative multi-tasking (each task yields control occasionally back to the OS). DoEvents is co-operative multitasking. The Windows OS is supposed to use pre-emptive multi-tasking but in fact it does so very poorly. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Tuesday, May 22, 2007 8:48 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] DoEvents - How should this command be used in Access? Hello to everyone! Where would it be useful to use the DoEvents command be used in an Access application? Thanks! Dan Waters -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 ________________________________________________ Message sent using UebiMiau 2.7.2 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From Jim.Hale at FleetPride.com Wed May 23 13:49:32 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Wed, 23 May 2007 13:49:32 -0500 Subject: [AccessD] OnNoData error In-Reply-To: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> Message-ID: I think you need to set cancel=true Private Sub Report_NoData(Cancel As Integer) Dim lngRetval As Long lngRetval = MsgBox( _ "There are no Balances without Assigned Departments", _ vbOKOnly + vbExclamation + vbSystemModal + vbDefaultButton1, _ "Missing Departments") Cancel = True End Sub Jim Hale -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Elam, Debbie Sent: Wednesday, May 23, 2007 11:36 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From adtp at hotmail.com Thu May 24 00:58:46 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 24 May 2007 11:28:46 +0530 Subject: [AccessD] OnNoData error References: <573E90481C9F004C9E598D3A5A9DCDA013F9F7@jgexch1.jenkens.com> Message-ID: Debbie, Sample subroutine P_OpenReport(), as given below, called from command button's click event in form's module, can be used universally for opening all your reports. It also takes care of NoData situation, providing a friendly message. It does away with the need for separate code (for message generation) in report's module. Simply put the following statement (nothing else) in report's NoData event: Cancel = True Best wishes, A.D.Tejpal --------------- Sample subroutine for opening reports ====================================== Sub P_OpenReport(ByVal RepName As Variant, _ Optional StrCriteria As Variant) On Error GoTo ErrTrap If Len(RepName) > 0 Then If IsMissing(StrCriteria) Then DoCmd.OpenReport RepName, _ acViewPreview Else If Len(StrCriteria) > 0 Then DoCmd.OpenReport RepName, _ acViewPreview, , StrCriteria Else DoCmd.OpenReport RepName, _ acViewPreview End If End If DoCmd.Maximize ' (A) DoCmd.RunCommand acCmdZoom100 ' (B) End If ExitPoint: On Error GoTo 0 Exit Sub ErrTrap: ' Spl message for NoData (Error 2501) ' Otherwise, normal error message If Err.Number = 2501 Then MsgBox "No Matching Record For " & _ "Report " & RepName, vbOKOnly, _ "No Matching Record" Else MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" End If Resume ExitPoint ' Note - (a) In case of NoData, statements (A) & ' (B) do not get executed. Hence existing ' restored status of the calling form remains ' undisturbed. ' (b) Data type of RepName argument has been ' kept as Variant, to provide for values gathered ' from form controls (text / combo boxes) End Sub ====================================== ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Wednesday, May 23, 2007 22:05 Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie From Gustav at cactus.dk Thu May 24 04:37:46 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 24 May 2007 11:37:46 +0200 Subject: [AccessD] Temporal database Message-ID: Hi all I just noticed that perhaps _the_ prime acteur in this field, Richard T. Snodgrass, offers one of his books free to download: "Developing Time-Oriented Database Applications in SQL" including the cd-rom with code for IBM DB2 Universal Database, Ingres, Informix-Universal Server, Microsoft Access, Microsoft SQL Server, Sybase SQLServer, Oracle8 Server, and UniSQL. http://www.cs.arizona.edu/~rts/publications.html Happy reading! /gustav >>> Gustav at cactus.dk 22-11-2006 16:45 >>> Hi Arthur and Shamil "We need to be able to roll back the database to any given PIT without actually having to do a restore. We just want to specify a date (Jan 1 2004) and without changing a single line of code, run the reports." >>> > You mean "virtual rollback" of course? IOW a "point in time aware" view/SP/UDF? Note that to implement a temporal database in full (I guess we will loose JC here), not two but _four_ time fields must exist: In the literature, two time lines of interest have been mentioned, transaction time and valid time. The valid time line represents when a fact is valid in modelled world (i.e. when it was believed) and the transaction time line represents when a transaction was performed. A bitemporal database is a combination of valid time and transaction time databases where these two time lines are considered to be orthogonal. (Snodgrass & Ahn 1986) Again, accounting can display the beauty of this: Consider writing an invoice; you do this, of course, "today", while the invoice date may be either past, present, or future. Later, selecting on transaction dates will reveal wether this invoice was created or not; selecting on valid date will show wether this invoice was issued or not. You may put it in another perspective: Transaction dates record by themselves an audit trail which allows you to, at any time, to perform a dynamic virtual rollback to any previous time, while the valid date will show you the (approved) state of the data at that time. Specifically, this allows you to correct previous recordings (say, a wrongly typed invoice number of a supplier's invoice), or record a future change of a customer's address and - until he moves - to issue invoices correctly addressed to his present address. /gustav >>> artful at rogers.com 22-11-2006 15:10:35 >>> My personal fave in this category is the Kimball Group. Specifically, for MS SQL, I recommend "The Microsoft Data Warehouse Toolkit" by Joy Mundy and Warren Thornthwaite. There is extensive discussion therein about SCDs (slowly changing dimensions). I will check out your sources, too. A. ----- Original Message ---- From: Gustav Brock To: accessd at databaseadvisors.com Sent: Wednesday, November 22, 2006 8:41:01 AM Subject: [AccessD] Temporal database (was: Stored Procedure not producing results) Hi Arthur I don't recall you have written about PITA here, but what you describe is generally known as a temporal database. This is well-known and has been dealt with by some great capacities in the database world, Michael Boehlen, Christian Jensen, Richard Snodgrass and Andreas Steiner. http://www.cs.arizona.edu/people/rts/timecenter/timecenter.html A brief explanation and introduction can be found here: http://www.timeconsult.com/TemporalData/TemporalData.html Note the link to TimeDB, a Java implementing of "A Bitemporal Relational DBMS" for Oracle 10g Also, look up my previous post(ings) on these: http://databaseadvisors.com/pipermail/accessd/2005-May/034503.html http://databaseadvisors.com/pipermail/accessd/2005-May/034455.html This is a very exciting area. For some applications it won't even require that much more data storage (accounting). A simplified approach is a write-only database (which means write and read but neither delete nor update) which both Cach? and MySQL offers. Now, wouldn't it be nice if only TSQL2 could be implemented in Access: http://www.cs.arizona.edu/people/rts/tsql2.html /gustav From markamatte at hotmail.com Thu May 24 09:14:43 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 14:14:43 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: Message-ID: Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From Lambert.Heenan at AIG.com Thu May 24 09:32:56 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Thu, 24 May 2007 09:32:56 -0500 Subject: [AccessD] DatePart "WW" Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20754CC56@xlivmbx35.aig.com> Well 12/31/2006 *is* day 1 of the 53rd week of the year. It's just that there are no more days for that week: 7 * 52 = 364. datepart("WW",#1/1/2007#) gives 1 for me and datepart("d",#1/1/2007#) also returns 1. What version of Access are you using? (Just curious). Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Thursday, May 24, 2007 10:15 AM To: accessd at databaseadvisors.com Subject: [AccessD] DatePart "WW" Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte _________________________________________________________________ PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio n_HM_mini_pcmag_0507 From Gustav at cactus.dk Thu May 24 09:44:23 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Thu, 24 May 2007 16:44:23 +0200 Subject: [AccessD] DatePart "WW" Message-ID: Hi Mark If you are looking for ISO week numbers, use these constants: bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) However, DatePart has always - since Access 1.0 - been buggy for week number 53. Thus, for serious business use, use a function like this which I have posted many times: Public Function ISO_WeekNumber( _ ByVal datDate As Date) _ As Byte ' Calculates and returns week number for date datDate according to the ISO 8601:1988 standard. ' 1998-2000, Gustav Brock, Cactus Data ApS, CPH. ' May be freely used and distributed. Const cbytFirstWeekOfAnyYear As Byte = 1 Const cbytLastWeekOfLeapYear As Byte = 53 Dim bytWeek As Byte Dim bytISOThursday As Byte Dim datLastDayOfYear As Date bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) If bytWeek = cbytLastWeekOfLeapYear Then bytISOThursday = WeekDay(vbThursday, vbMonday) datLastDayOfYear = DateSerial(Year(datDate), 12, 31) If WeekDay(datLastDayOfYear, vbMonday) >= bytISOThursday Then ' OK, week count of 53 is caused by leap year. Else ' Correct for Access97/2000 bug. bytWeek = cbytFirstWeekOfAnyYear End If End If ISO_WeekNumber = bytWeek End Function /gustav >>> markamatte at hotmail.com 24-05-2007 16:14 >>> Hello All, I'm using datepart to get the week. 12/31/2006 I am having an issue...No matter what optional constant I use or change...I get Day1 of week 53... and 1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? Thanks, Mark A. Matte From markamatte at hotmail.com Thu May 24 10:12:54 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 15:12:54 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20754CC56@xlivmbx35.aig.com> Message-ID: Thanks Lambert, This one is A97. I did find that "Week: DatePart("ww",[creation_date],1,2)" will give me the numbers I need. I'm just curious how the function Really works...What year does it start with...because the FirstDayOFYear constant I expected to give what I needed. Thanks, Mark A. Matte >From: "Heenan, Lambert" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: Re: [AccessD] DatePart "WW" >Date: Thu, 24 May 2007 09:32:56 -0500 > >Well 12/31/2006 *is* day 1 of the 53rd week of the year. It's just that >there are no more days for that week: 7 * 52 = 364. > >datepart("WW",#1/1/2007#) gives 1 for me and datepart("d",#1/1/2007#) also >returns 1. What version of Access are you using? (Just curious). > >Lambert > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte >Sent: Thursday, May 24, 2007 10:15 AM >To: accessd at databaseadvisors.com >Subject: [AccessD] DatePart "WW" > > >Hello All, > >I'm using datepart to get the week. 12/31/2006 I am having an issue...No >matter what optional constant I use or change...I get Day1 of week 53... >and > >1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? > >Thanks, > >Mark A. Matte > >_________________________________________________________________ >PC Magazine's 2007 editors' choice for best Web mail-award-winning Windows >Live Hotmail. >http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migratio >n_HM_mini_pcmag_0507 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From markamatte at hotmail.com Thu May 24 10:17:25 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 24 May 2007 15:17:25 +0000 Subject: [AccessD] DatePart "WW" In-Reply-To: Message-ID: Thanks Gustav, I will definetly keep this in mind for larger projects... For this instance...I just needed to group by week for the last 6 months...and a single day was 'biting' me. I almost just changed the date...lol...but my 'data integrity morals' said that it probably wasn't the best thing to do. Thanks, Mark A. Matte >From: "Gustav Brock" >Reply-To: Access Developers discussion and problem >solving >To: >Subject: Re: [AccessD] DatePart "WW" >Date: Thu, 24 May 2007 16:44:23 +0200 > >Hi Mark > >If you are looking for ISO week numbers, use these constants: > > bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) > >However, DatePart has always - since Access 1.0 - been buggy for week >number 53. >Thus, for serious business use, use a function like this which I have >posted many times: > >Public Function ISO_WeekNumber( _ > ByVal datDate As Date) _ > As Byte > >' Calculates and returns week number for date datDate according to the ISO >8601:1988 standard. >' 1998-2000, Gustav Brock, Cactus Data ApS, CPH. >' May be freely used and distributed. > > Const cbytFirstWeekOfAnyYear As Byte = 1 > Const cbytLastWeekOfLeapYear As Byte = 53 > > Dim bytWeek As Byte > Dim bytISOThursday As Byte > Dim datLastDayOfYear As Date > > bytWeek = DatePart("ww", datDate, vbMonday, vbFirstFourDays) > > If bytWeek = cbytLastWeekOfLeapYear Then > bytISOThursday = WeekDay(vbThursday, vbMonday) > datLastDayOfYear = DateSerial(Year(datDate), 12, 31) > If WeekDay(datLastDayOfYear, vbMonday) >= bytISOThursday Then > ' OK, week count of 53 is caused by leap year. > Else > ' Correct for Access97/2000 bug. > bytWeek = cbytFirstWeekOfAnyYear > End If > End If > > ISO_WeekNumber = bytWeek > >End Function > >/gustav > > >>> markamatte at hotmail.com 24-05-2007 16:14 >>> >Hello All, > >I'm using datepart to get the week. 12/31/2006 I am having an issue...No >matter what optional constant I use or change...I get Day1 of week 53... >and >1/1/2007 shows as Day2 of week 1. How do I get Day1 of Week1? > >Thanks, > >Mark A. Matte > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From erbachs at gmail.com Thu May 24 11:00:12 2007 From: erbachs at gmail.com (Steve Erbach) Date: Thu, 24 May 2007 11:00:12 -0500 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <4650992C.5010601@shaw.ca> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> <4650992C.5010601@shaw.ca> Message-ID: <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> Marty, Actually, based on the data I have, I was surprised that there weren't MORE people that had moved out of Neenah. Out of 18,000 or so unique individuals (some with multiple voting history records), only about 1100 had moved out of the city in the 3-4 year span of the data. The rule of thumb I heard ages ago was that about 10% of the populace moved every year. Maybe a bunch of them moved to different addresses within the city, but there's no way to tell that since there's only a single address for each voter...no address "history". Your story is very interesting. Did the local urban planners believe you after you analyzed the Bell data? Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/20/07, MartyConnelly wrote: > Something to keep in mind when using data and addresses. > Just as an aside to this I remember researching the number of people who had > moved within a year in a major Canadian city by using GIS and tax roll > assessment data. > I came up with around 30%. This was disbelieved by local urban planners. > I reconfirmed the number by checking the number of Bell residential > phone line > connects and disconnects. This was 30 years ago before the use of cell > phones. > This number may vary by town size and country but is still substantial. > > Steve Erbach wrote: > > >Thanks. Unfortunately it would be a story interesting only to people like us! > > > >The idea of a state-wide voter list isn't bad. In the lists I got on > >Wednesday (since consolidated in Access into one list), there are > >about 1100 names of people whose address has changed since they voted. > > These 1100 people have moved out of the city of Neenah. The state > >list shows their new addresses which is handy, when you think about > >it. If I had gotten those four years of voter history from a > >Neenah-only database. Those 1100 peoples' addresses would simply have > >been wrong and any mailings I did to them would bounce back or get > >forwarded, maybe. In any event those names would be useless to me if > >I were trying to get them to vote for me. They CAN'T vote in Neenah > >elections any longer. At least with the state list I can see that > >they've moved and I can eliminate them from any mailings. > > > >Actually I'm now a bit confused. Back in December when I sat with the > >City Clerk and looked at the on-line database system, I found that the > >names and addresses were stored in good form. That is, the addresses > >were separated into Pre-Street-Direction, House Number, Street name, > >street type, Post-Street-Direction, unit number, unit type, etc. This > >is what I'll have to do "manually" (with Access, thank god!) with the > >names I was given since the addresses are all in one field. During my > >re-election campaign I made lists of voters by street and by house > >number so that I could move sequentially along a street and know which > >homes had voters in them. The number of people who actually vote in a > >February primary election is minscule. This is good since that was a > >damned cold month for door-knocking. One wants to target one's > >door-knocking as much as possible. That December list I extracted > >saved me a lot of work. > > > >Therefore, I have to assume that the City Clerk chose a pre-formatted > >report for the voter history I asked for...and that pre-formatted > >report had several export options, one being Excel. > > > >Looks like I'll have to do some more digging. That is, find out more > >from the state elections board or whoever has control over the > >state-wide lists now. It would be useful to know all the options one > >has for extracting data. I'm not certain, though, if a regular > >citizen has access to the data. > > > >I'm just happy that I got these lists before the prices went up. I > >miscounted: there were actually close to 53,000 records. $25 setup + > >$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up > >with a bit of table manipulation and normalizing! > > > > > >Steve Erbach > >http://TheTownCrank.blogspot.com > > > > > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Regards, Steve Erbach Scientific Marketing Neenah, WI www.swerbach.com Security Page: www.swerbach.com/security From DElam at jenkens.com Thu May 24 13:49:29 2007 From: DElam at jenkens.com (Elam, Debbie) Date: Thu, 24 May 2007 13:49:29 -0500 Subject: [AccessD] OnNoData error Message-ID: <573E90481C9F004C9E598D3A5A9DCDA013FA01@jgexch1.jenkens.com> Thanks, but that did not short circuit the problem. The problem is with the Cancel=true statement. I cannot handle the error that generates without the sub stopping in it's tracks for some odd reason. I never make it to the error handler and I do not know why. I worked around this by allowing the report to open and change an indicator field on the form opening the report. When this field is 1 the report just opened is closed and the field reset to 0. Not the most elegant, but it does get around the problem. Debbie -----Original Message----- From: A.D.TEJPAL [mailto:adtp at hotmail.com] Sent: Thursday, May 24, 2007 12:59 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] OnNoData error Debbie, Sample subroutine P_OpenReport(), as given below, called from command button's click event in form's module, can be used universally for opening all your reports. It also takes care of NoData situation, providing a friendly message. It does away with the need for separate code (for message generation) in report's module. Simply put the following statement (nothing else) in report's NoData event: Cancel = True Best wishes, A.D.Tejpal --------------- Sample subroutine for opening reports ====================================== Sub P_OpenReport(ByVal RepName As Variant, _ Optional StrCriteria As Variant) On Error GoTo ErrTrap If Len(RepName) > 0 Then If IsMissing(StrCriteria) Then DoCmd.OpenReport RepName, _ acViewPreview Else If Len(StrCriteria) > 0 Then DoCmd.OpenReport RepName, _ acViewPreview, , StrCriteria Else DoCmd.OpenReport RepName, _ acViewPreview End If End If DoCmd.Maximize ' (A) DoCmd.RunCommand acCmdZoom100 ' (B) End If ExitPoint: On Error GoTo 0 Exit Sub ErrTrap: ' Spl message for NoData (Error 2501) ' Otherwise, normal error message If Err.Number = 2501 Then MsgBox "No Matching Record For " & _ "Report " & RepName, vbOKOnly, _ "No Matching Record" Else MsgBox Err.Number & " - " & _ Err.Description, vbCritical + vbOKOnly, _ "Error Encountered" End If Resume ExitPoint ' Note - (a) In case of NoData, statements (A) & ' (B) do not get executed. Hence existing ' restored status of the calling form remains ' undisturbed. ' (b) Data type of RepName argument has been ' kept as Variant, to provide for values gathered ' from form controls (text / combo boxes) End Sub ====================================== ----- Original Message ----- From: Elam, Debbie To: 'Access Developers discussion and problem solving' Sent: Wednesday, May 23, 2007 22:05 Subject: [AccessD] OnNoData error I am running a series of reports off of one command button. Some of these may not have data, so I have used the OnNoData event to cancel that particular report and send a message box to the user that there was no data in that one. The problem I am encountering is the standard 2501 error will simply not be suppressed. I have used If err.number = 2501 then resume next Else msgbox err.desctiption resume ExitTheSub End if In the on error of the button that runs the reports. Heck I have even set all errors to resume next, but I still get the error and no resume next. I could even live with a harmless error message, but once this happens, all subsequent reports do not run. That is the real problem. Debbie -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 24 14:03:45 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 24 May 2007 12:03:45 -0700 Subject: [AccessD] Access vs. Excel - Oy! In-Reply-To: <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> References: <39cb22f30705190416u6ba8896j7ffd17eb0fbbb184@mail.gmail.com> <0JIA00D3JVL5E540@l-daemon> <39cb22f30705200705l2189d480i25d6176633c877f4@mail.gmail.com> <4650992C.5010601@shaw.ca> <39cb22f30705240900t2b4c8c23wa2e85815b3f8b03f@mail.gmail.com> Message-ID: <4655E191.5090000@shaw.ca> Yes, after a lot of arguments about people no longer paying for phones, dying off, getting married and changing name by deed poll not to mention multiple people sharing a phone eg. roommates etc. I tracked internal moves but can't remember the exact number, as address matching was in it's infancy I don't trust it and I was one of the infants doing it. Every town has its quirks that can affect these types of statistics, for example in the city of Montreal, all apartment leases end May 1'st. This can skew statistics depending on the time frame, never mind trying to find a moving van around that date. Also people tend to move less often in small towns. Steve Erbach wrote: >Marty, > >Actually, based on the data I have, I was surprised that there weren't >MORE people that had moved out of Neenah. Out of 18,000 or so unique >individuals (some with multiple voting history records), only about >1100 had moved out of the city in the 3-4 year span of the data. The >rule of thumb I heard ages ago was that about 10% of the populace >moved every year. Maybe a bunch of them moved to different addresses >within the city, but there's no way to tell that since there's only a >single address for each voter...no address "history". > >Your story is very interesting. Did the local urban planners believe >you after you analyzed the Bell data? > >Steve Erbach >Neenah, WI >http://TheTownCrank.blogspot.com > > >On 5/20/07, MartyConnelly wrote: > > >>Something to keep in mind when using data and addresses. >>Just as an aside to this I remember researching the number of people who had >>moved within a year in a major Canadian city by using GIS and tax roll >>assessment data. >>I came up with around 30%. This was disbelieved by local urban planners. >>I reconfirmed the number by checking the number of Bell residential >>phone line >>connects and disconnects. This was 30 years ago before the use of cell >>phones. >>This number may vary by town size and country but is still substantial. >> >>Steve Erbach wrote: >> >> >> >>>Thanks. Unfortunately it would be a story interesting only to people like us! >>> >>>The idea of a state-wide voter list isn't bad. In the lists I got on >>>Wednesday (since consolidated in Access into one list), there are >>>about 1100 names of people whose address has changed since they voted. >>>These 1100 people have moved out of the city of Neenah. The state >>>list shows their new addresses which is handy, when you think about >>>it. If I had gotten those four years of voter history from a >>>Neenah-only database. Those 1100 peoples' addresses would simply have >>>been wrong and any mailings I did to them would bounce back or get >>>forwarded, maybe. In any event those names would be useless to me if >>>I were trying to get them to vote for me. They CAN'T vote in Neenah >>>elections any longer. At least with the state list I can see that >>>they've moved and I can eliminate them from any mailings. >>> >>>Actually I'm now a bit confused. Back in December when I sat with the >>>City Clerk and looked at the on-line database system, I found that the >>>names and addresses were stored in good form. That is, the addresses >>>were separated into Pre-Street-Direction, House Number, Street name, >>>street type, Post-Street-Direction, unit number, unit type, etc. This >>>is what I'll have to do "manually" (with Access, thank god!) with the >>>names I was given since the addresses are all in one field. During my >>>re-election campaign I made lists of voters by street and by house >>>number so that I could move sequentially along a street and know which >>>homes had voters in them. The number of people who actually vote in a >>>February primary election is minscule. This is good since that was a >>>damned cold month for door-knocking. One wants to target one's >>>door-knocking as much as possible. That December list I extracted >>>saved me a lot of work. >>> >>>Therefore, I have to assume that the City Clerk chose a pre-formatted >>>report for the voter history I asked for...and that pre-formatted >>>report had several export options, one being Excel. >>> >>>Looks like I'll have to do some more digging. That is, find out more >>> >>> >>>from the state elections board or whoever has control over the >> >> >>>state-wide lists now. It would be useful to know all the options one >>>has for extracting data. I'm not certain, though, if a regular >>>citizen has access to the data. >>> >>>I'm just happy that I got these lists before the prices went up. I >>>miscounted: there were actually close to 53,000 records. $25 setup + >>>$5 per thousand equals $290 vs. the $15 I paid. I guess I can put up >>>with a bit of table manipulation and normalizing! >>> >>> >>>Steve Erbach >>>http://TheTownCrank.blogspot.com >>> >>> -- Marty Connelly Victoria, B.C. Canada From DWUTKA at Marlow.com Thu May 24 15:34:30 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Thu, 24 May 2007 15:34:30 -0500 Subject: [AccessD] OT: Hey William! Message-ID: Haven't seen ya on OT for a while. Just checking to see if you got my last email 'Off list'. Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Thu May 24 19:45:22 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 24 May 2007 20:45:22 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> Message-ID: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com From jwcolby at colbyconsulting.com Thu May 24 20:51:47 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 24 May 2007 21:51:47 -0400 Subject: [AccessD] Desktop search Message-ID: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com From markamatte at hotmail.com Thu May 24 21:49:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Fri, 25 May 2007 02:49:57 +0000 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: of course I'll be there... Mark >From: "jwcolby" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference >Date: Thu, 24 May 2007 20:45:22 -0400 > >I just received a copy of Visual Studio 2005 .net Standard Edition. I will >be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN >AccessD Conference, scheduled for the weekend of June 23rd. Sign up now >and >plan to attend. > >Anyone interested in attending should speak up so that I know how many to >plan for. > > >Anyone who wishes to make a presentation please say so, so that I can make >a >schedule. Individual presentations should be 45 minutes to 1 hour. If you >have a topic that will take longer, no problem, simply break it down into 1 >hour segments. If you have something really cool that will only take a few >minutes, again no problem. The agenda will be sessions from 9am to noon, >1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / >framework material to fill up that time should there be no takers on >presentations, but in the interests of YOUR sanity, consider doing a >session >on your own subject of expertise. If there is enough content, we can spill >over into Sunday, 1/2 day or a full day, your choice. If there is HUGE >attendance and resulting HUGE content then we can spill over to either >weekday on either side of the weekend. > >As for the most important issue... I have a largish propane BBQ and will >provide a BBQ dinner on Saturday the 23rd. Donations accepted but never >required. The menu will be Boneless, Skinless chicken breasts a la Sam's >club, a rack of ribs (more if a large turnout), Corn on the cob, sweet >potatoes, potato salad and green salad, and whatever I can rustle up for >desert. If anyone wants to bring or fix something special of their own, >feel free. > >There was a lot of interest for a date in September. I will do a repeat >performance in September if there is still interest. Someone propose a >date >for September. > >John W. Colby >Colby Consulting >www.ColbyConsulting.com > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Make every IM count. Download Messenger and join the i?m Initiative now. It?s free. http://im.live.com/messenger/im/home/?source=TAGHM_MAY07 From kp at sdsonline.net Thu May 24 22:46:16 2007 From: kp at sdsonline.net (Kath Pelletti) Date: Fri, 25 May 2007 13:46:16 +1000 Subject: [AccessD] OT Desktop search References: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> Message-ID: <006b01c79e7f$400eb790$6401a8c0@office> John - you didn't like Google's desktop search? Is this better? Kath ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 25, 2007 11:51 AM Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From thewaddles at sbcglobal.net Fri May 25 01:07:26 2007 From: thewaddles at sbcglobal.net (Kevin Waddle) Date: Thu, 24 May 2007 23:07:26 -0700 Subject: [AccessD] Zip codes within a radius In-Reply-To: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> References: <20070522104400.5F6A9BDBC@smtp-auth.no-ip.com> Message-ID: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kost36 at otenet.gr Fri May 25 04:22:01 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Fri, 25 May 2007 12:22:01 +0300 Subject: [AccessD] Tab Control Locking References: Message-ID: <023901c79eae$2fd7abf0$6401a8c0@kost36> Hi group, is that possible to lock a tab control form asking when cliking for a password? many thank's /kostas From jwcolby at colbyconsulting.com Fri May 25 06:37:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 25 May 2007 07:37:14 -0400 Subject: [AccessD] Zip codes within a radius In-Reply-To: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> Message-ID: <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> Kevin, >I want to be like you when I grow up! Be careful what you ask for, God has a sense of humor. Fairfield eh? I went to a 'C' school down an Mare Island from 1972-1973. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kevin Waddle Sent: Friday, May 25, 2007 2:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.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 colbyconsulting.com Fri May 25 06:51:25 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Fri, 25 May 2007 07:51:25 -0400 Subject: [AccessD] OT Desktop search In-Reply-To: <006b01c79e7f$400eb790$6401a8c0@office> Message-ID: <20070525115126.C1C09BCDC@smtp-auth.no-ip.com> >you didn't like Google's desktop search? I didn't try it. It forcefully installed itself when I was setting up my new laptop and I despise that kind of behavior. >Is this better? I certainly can't say that. It is highly rated by one of the cybermags and was recommended by a friend the other day. I installed it and like it. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti Sent: Thursday, May 24, 2007 11:46 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OT Desktop search John - you didn't like Google's desktop search? Is this better? Kath ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Friday, May 25, 2007 11:51 AM Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.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 wdhindman at dejpolsystems.com Fri May 25 09:22:50 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Fri, 25 May 2007 10:22:50 -0400 Subject: [AccessD] OT Desktop search References: <20070525115126.C1C09BCDC@smtp-auth.no-ip.com> Message-ID: <000b01c79ed8$2d982a20$7d7d6c4c@jisshowsbs.local> "I despise that kind of behavior" JC ...amen brother ...I'm keeping my clients Google free for just that reason ...reminds me of the old AOL, it does :( William Hindman ----- Original Message ----- From: "jwcolby" To: "'Access Developers discussion and problem solving'" Sent: Friday, May 25, 2007 7:51 AM Subject: Re: [AccessD] OT Desktop search > >you didn't like Google's desktop search? > > I didn't try it. It forcefully installed itself when I was setting up my > new laptop and I despise that kind of behavior. > >>Is this better? > > I certainly can't say that. It is highly rated by one of the cybermags > and > was recommended by a friend the other day. I installed it and like it. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti > Sent: Thursday, May 24, 2007 11:46 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] OT Desktop search > > John - you didn't like Google's desktop search? Is this better? > > Kath > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' > Sent: Friday, May 25, 2007 11:51 AM > Subject: [AccessD] Desktop search > > > I finally broke down and installed a desktop search program (Copernic) on > my > new laptop and I think I like it. I can tell it to search just email and > go > back through my saved emails (which are immense) looking for specific > keywords. Instant finds. Pretty cool stuff. > > I have always saved specific emails in the long threads that AccessD is > so > famous for, but never really liked the way outlook found (or failed to > find) > what I was looking for. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 cfoust at infostatsystems.com Fri May 25 09:46:17 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 25 May 2007 07:46:17 -0700 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> References: <20070510213542.46AD9BCFD@smtp-auth.no-ip.com> <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: I'll have to try for the next on, John. That weekend is spoken for. Have fun ... If you can find someone to argue with. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 5:45 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Fri May 25 09:47:35 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Fri, 25 May 2007 07:47:35 -0700 Subject: [AccessD] OT- Desktop search In-Reply-To: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> References: <20070525015149.25F1FBBFD@smtp-auth.no-ip.com> Message-ID: It isn't too bad after the initial indexing is through. I prefer it to the Google product. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 6:52 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Desktop search I finally broke down and installed a desktop search program (Copernic) on my new laptop and I think I like it. I can tell it to search just email and go back through my saved emails (which are immense) looking for specific keywords. Instant finds. Pretty cool stuff. I have always saved specific emails in the long threads that AccessD is so famous for, but never really liked the way outlook found (or failed to find) what I was looking for. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From Jim.Hale at FleetPride.com Fri May 25 09:57:55 2007 From: Jim.Hale at FleetPride.com (Hale, Jim) Date: Fri, 25 May 2007 09:57:55 -0500 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: Message-ID: Me too, Sept looks better for me Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Friday, May 25, 2007 9:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I'll have to try for the next on, John. That weekend is spoken for. Have fun ... If you can find someone to argue with. ;-> Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 24, 2007 5:45 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference I just received a copy of Visual Studio 2005 .net Standard Edition. I will be giving it away in a drawing to attendees of the Great SMOKEY MOUNTAIN AccessD Conference, scheduled for the weekend of June 23rd. Sign up now and plan to attend. Anyone interested in attending should speak up so that I know how many to plan for. Anyone who wishes to make a presentation please say so, so that I can make a schedule. Individual presentations should be 45 minutes to 1 hour. If you have a topic that will take longer, no problem, simply break it down into 1 hour segments. If you have something really cool that will only take a few minutes, again no problem. The agenda will be sessions from 9am to noon, 1:30 pm to 4:30 pm on Saturday. I can and will provide enough class / framework material to fill up that time should there be no takers on presentations, but in the interests of YOUR sanity, consider doing a session on your own subject of expertise. If there is enough content, we can spill over into Sunday, 1/2 day or a full day, your choice. If there is HUGE attendance and resulting HUGE content then we can spill over to either weekday on either side of the weekend. As for the most important issue... I have a largish propane BBQ and will provide a BBQ dinner on Saturday the 23rd. Donations accepted but never required. The menu will be Boneless, Skinless chicken breasts a la Sam's club, a rack of ribs (more if a large turnout), Corn on the cob, sweet potatoes, potato salad and green salad, and whatever I can rustle up for desert. If anyone wants to bring or fix something special of their own, feel free. There was a lot of interest for a date in September. I will do a repeat performance in September if there is still interest. Someone propose a date for September. John W. Colby Colby Consulting www.ColbyConsulting.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 *********************************************************************** The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer. As a recipient of this email, you are responsible for screening its contents and the contents of any attachments for the presence of viruses. No liability is accepted for any damages caused by any virus transmitted by this email. From reuben at gfconsultants.com Fri May 25 10:14:23 2007 From: reuben at gfconsultants.com (Reuben Cummings) Date: Fri, 25 May 2007 11:14:23 -0400 Subject: [AccessD] Great SMOKEY MOUNTAIN AccessD Conference In-Reply-To: Message-ID: > Have fun ... If you can find someone to argue with. ;-> > > Charlotte I don't that'll be a problem ;) I'd love to come, but can't. Reuben Cummings GFC, LLC 812.523.1017 From accessd at shaw.ca Fri May 25 13:15:06 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 25 May 2007 11:15:06 -0700 Subject: [AccessD] OT Totally In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: <0JIL00LKFZTKYB00@l-daemon> OT Friday Hi All: A friend sent me this article and as is really quiet funny in a fanatical sort of way: http://www.ctnow.com/custom/nmm/fairfieldweekly/hce-fcw-0524-ff22-fishingrep ort22.artmay24,0,5373814.story?coll=hce-headlines-fcw-advocate/# Jim From accessd at shaw.ca Fri May 25 13:18:35 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Fri, 25 May 2007 11:18:35 -0700 Subject: [AccessD] OT Friday In-Reply-To: <20070525004524.DACE4BCE3@smtp-auth.no-ip.com> Message-ID: <0JIL00MXOZZDZVM1@l-daemon> OT Friday: If the last email was not enough, on a yet lighter vein: http://www.1-click.jp/ Jim From fuller.artful at gmail.com Fri May 25 14:59:00 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Fri, 25 May 2007 15:59:00 -0400 Subject: [AccessD] Word form to Access form Message-ID: <29f585dd0705251259i7ea856c1mbd08d56925e93a5f@mail.gmail.com> I am working on an app wherein a Word form exists, all nicely laid out as the client wishes to see it and print it. I don't think that it is a real Word form but rather a mockup. The central problem is, the form is in landscape mode and if I duplicated it identically in Access, it would end up with a vertical scrollbar. I don't like this. One click too many is one click too many, IMO. So I am trying to rationalize their Word-portrait form against my Access portrait form -- the latter requiring a vertical scrollbar. I don't like this aspect of the scenario. Second: Given Word form xyz with field locations bla bla bla, is there any way to conveniently reproduce said form in Access, other than measure the distances and duplicate them in Access? It would be so nice to point to said Word file and grab the control locations and re-create said form in Access. I don't think that this can be done. Oh Well. The alternative is to print out the Word form and begin measuring the x,y distance of every control and go from there. There ought to be an automated way to re-create the Word form in Access, given that the Object model is identical from both perspectives, but so far I cannot see my way from A to B. This problem generalizes in a problematic but very cool way. There is an editor in which you can write a line such as "x = CreateObject(" ADODB.something)" and said editor automatically grabs all the attributes and methods of said library. I would love to have a script that prints out the classes, nested classes, and so on unto the leaves for the selected library. For example, I create a FileSystemObject called fso. In several editors I can then IntelliSense the methods and attributes, but there is no readily apparent way to dump said (nested) list to a text file or XL sheet or whatever. I want to point at an arbitrary DLL that exposes methods and attributes, and grab all its internal dox into an Excel or Word file. Anyone got any guesses how to do this? TIA Arthur From galeper at gmail.com Fri May 25 18:24:14 2007 From: galeper at gmail.com (Gale Perez) Date: Fri, 25 May 2007 16:24:14 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error Message-ID: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale From dwaters at usinternet.com Fri May 25 19:24:04 2007 From: dwaters at usinternet.com (Dan Waters) Date: Fri, 25 May 2007 19:24:04 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: <000c01c79f2c$2b019590$0200a8c0@danwaters> Hi Gale, In addition to checking for Null, you also must check for an empty string. If IsNull(ctl) or ctl = "" Then If you want, you can place a value in a control's Tag property, such as R or Required to designate that field as required. But if every control that has a caption is actually required, then I think your method is appropriate. Also, I would recommend going through this loop before an error occurs, if you can. HTH, Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez Sent: Friday, May 25, 2007 6:24 PM To: accessd at databaseadvisors.com Subject: [AccessD] Error 3314 (required field) - trap in form_error Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From miscellany at mvps.org Fri May 25 23:15:16 2007 From: miscellany at mvps.org (Steve Schapel) Date: Sat, 26 May 2007 16:15:16 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: <4657B454.1020405@mvps.org> Gale, Are you sure it is not recognising the control as Null? Whereas Dan has suggested it may be a "" ZLS in the field, I can't see how that would happen, so I doubt that that's the problem. To me, it looks like you are testing the wrong control. It looks like your Screen.ActiveControl may not be referring to the control you think it is. Shouldn't you have the ctl.SetFocus *before* identifying it as the ActiveControl? By the way, as an aside, I think you are doing it the hard way. Try this idea instead... Set the field's Required property to No, its Validation Rule property to Is Not Null, and its Validation Text property to your user-friendly message. Delete the code. Voila? -- Steve Gale Perez wrote: > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale From andy at minstersystems.co.uk Sat May 26 01:40:55 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Sat, 26 May 2007 07:40:55 +0100 Subject: [AccessD] Tab Control Locking In-Reply-To: <023901c79eae$2fd7abf0$6401a8c0@kost36> Message-ID: <000501c79f60$d003df60$03b0d355@minster33c3r25> Hi Kostas I think you'll need to lock all of the controls within a tab rather than the tab itself. A simple way to do this is to drop a subform on the tab and put all of your controls in that. Then you need only set the subform locked and unlocked. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kostas Konstantinidis > Sent: 25 May 2007 10:22 > To: Access Developers discussion and problem solving > Subject: [AccessD] Tab Control Locking > > > Hi group, > is that possible to lock a tab control form asking when cliking for a > password? > > many thank's > /kostas > > > -- > 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 May 26 08:09:31 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 09:09:31 -0400 Subject: [AccessD] Formula for a calculated field Message-ID: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> In an Access table, I want the formula for column C to be A/B where A and B are columns. I put A/B in the default value slot for C but that doesn't work. I prefaced it with an = sign but that doesn't work either. I'm certain that I have done this before but I can't remember how I did it. Help? TIA, Arthur From stuart at lexacorp.com.pg Sat May 26 08:48:44 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Sat, 26 May 2007 23:48:44 +1000 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> Message-ID: <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> AFAIK, you can't do that in the actual table, you can only do it by setting the DefaultValue of a bound control on a form to a function using other bound controls (and the other controls must be before that one in the tab order) On 26 May 2007 at 9:09, Arthur Fuller wrote: > In an Access table, I want the formula for column C to be A/B where A and B > are columns. I put A/B in the default value slot for C but that doesn't > work. I prefaced it with an = sign but that doesn't work either. I'm certain > that I have done this before but I can't remember how I did it. Help? > > TIA, > Arthur > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com From dwaters at usinternet.com Sat May 26 09:26:31 2007 From: dwaters at usinternet.com (Dan Waters) Date: Sat, 26 May 2007 09:26:31 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <4657B454.1020405@mvps.org> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> Message-ID: <000901c79fa1$dcd70aa0$0200a8c0@danwaters> Steve, I agree that while the Screen.ActiveControl may be causing the wrong control to be checked, the value of the control for memo fields could indeed be a zero length string and must be checked for. In this example all controls are being checked (I assumed all the controls on the form could contain text), so checking for a ZLS on other controls won't hurt. This is an example of code I use for this purpose: Private Sub cmdDescriptionComplete() If DescriptionReady = False then Exit Sub End If ... End Sub Private Function DescriptionReady() As Boolean Dim stgMessage As String DescriptionReady = False If IsNull(txtPONumber) Then stgMessage = "The PO Number field is required.@ @" FormattedMsgBox GstgNotReady, stgMessage, vbExclamation + vbOKOnly, "Missing Information" txtPONumber.SetFocus Exit Function End If If IsNull(memProblem) Or memProblem = "" Then stgMessage = "The Problem field is required.@ @" FormattedMsgBox GstgNotReady, stgMessage, vbExclamation + vbOKOnly, "Missing Information" memProblem.SetFocus Exit Function End If DescriptionReady = True End Function I like this because it give the user an informative error message and it immediately moves the focus back to where they need to work. You can also set up conditional checks: If Not IsNull(A) And IsNull(B) Then DescriptionReady = False End If Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Schapel Sent: Friday, May 25, 2007 11:15 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Gale, Are you sure it is not recognising the control as Null? Whereas Dan has suggested it may be a "" ZLS in the field, I can't see how that would happen, so I doubt that that's the problem. To me, it looks like you are testing the wrong control. It looks like your Screen.ActiveControl may not be referring to the control you think it is. Shouldn't you have the ctl.SetFocus *before* identifying it as the ActiveControl? By the way, as an aside, I think you are doing it the hard way. Try this idea instead... Set the field's Required property to No, its Validation Rule property to Is Not Null, and its Validation Text property to your user-friendly message. Delete the code. Voila? -- Steve Gale Perez wrote: > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale -- 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 May 26 09:44:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 10:44:07 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> Message-ID: <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> Oh well. I was afraid that was the answer. In SQL Server you can create a calculated column which doesn't even physically exist. Oh well. On 5/26/07, Stuart McLachlan wrote: > > AFAIK, you can't do that in the actual table, you can only do it by > setting the DefaultValue of a bound control on a form to a function using > other bound controls (and the other controls must be before that one in > the > tab order) > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > In an Access table, I want the formula for column C to be A/B where A > and B > > are columns. I put A/B in the default value slot for C but that doesn't > > work. I prefaced it with an = sign but that doesn't work either. I'm > certain > > that I have done this before but I can't remember how I did it. Help? > > > > TIA, > > 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 JHewson at karta.com Sat May 26 10:01:59 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:01:59 -0500 Subject: [AccessD] Tab Control Locking In-Reply-To: <000501c79f60$d003df60$03b0d355@minster33c3r25> References: <023901c79eae$2fd7abf0$6401a8c0@kost36> <000501c79f60$d003df60$03b0d355@minster33c3r25> Message-ID: <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> You could also hide the controls on the tab until the password is correct. Hide the controls by default then when the password is correct unhide them. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Saturday, May 26, 2007 1:41 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Tab Control Locking Hi Kostas I think you'll need to lock all of the controls within a tab rather than the tab itself. A simple way to do this is to drop a subform on the tab and put all of your controls in that. Then you need only set the subform locked and unlocked. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Kostas Konstantinidis > Sent: 25 May 2007 10:22 > To: Access Developers discussion and problem solving > Subject: [AccessD] Tab Control Locking > > > Hi group, > is that possible to lock a tab control form asking when cliking for a > password? > > many 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 From JHewson at karta.com Sat May 26 10:04:36 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:04:36 -0500 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> Message-ID: <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> I'm just curious, why would you want to do that? Why would you want a calculated field in the table? All the calculating I've done has been either in a query / view or on the form or on the report. Thanks. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 26, 2007 9:44 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Formula for a calculated field Oh well. I was afraid that was the answer. In SQL Server you can create a calculated column which doesn't even physically exist. Oh well. On 5/26/07, Stuart McLachlan wrote: > > AFAIK, you can't do that in the actual table, you can only do it by > setting the DefaultValue of a bound control on a form to a function using > other bound controls (and the other controls must be before that one in > the > tab order) > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > In an Access table, I want the formula for column C to be A/B where A > and B > > are columns. I put A/B in the default value slot for C but that doesn't > > work. I prefaced it with an = sign but that doesn't work either. I'm > certain > > that I have done this before but I can't remember how I did it. Help? > > > > TIA, > > 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 fuller.artful at gmail.com Sat May 26 10:15:35 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 11:15:35 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> Message-ID: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From bill_patten at earthlink.net Sat May 26 10:19:44 2007 From: bill_patten at earthlink.net (Bill Patten) Date: Sat, 26 May 2007 08:19:44 -0700 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <84D1E117273F4E51B2680A3765B60B15@BPCS> Arthur, Why not connect the customers forms/ reports etc to a query with calculated fields? Bill ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 8:15 AM Subject: Re: [AccessD] Formula for a calculated field I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 JHewson at karta.com Sat May 26 10:24:22 2007 From: JHewson at karta.com (Jim Hewson) Date: Sat, 26 May 2007 10:24:22 -0500 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <6C1791BC61725F44A28C24208026A51112629E@karta-exc-int.Karta.com> I understand explicitly. Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Saturday, May 26, 2007 10:16 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Formula for a calculated field I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". Your point is valid and I agree with you, but the customer wins in this case. A. On 5/26/07, Jim Hewson wrote: > > I'm just curious, why would you want to do that? > Why would you want a calculated field in the table? > All the calculating I've done has been either in a query / view or on the > form or on the report. > Thanks. > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto: > accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller > Sent: Saturday, May 26, 2007 9:44 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Formula for a calculated field > > Oh well. I was afraid that was the answer. In SQL Server you can create a > calculated column which doesn't even physically exist. Oh well. > > On 5/26/07, Stuart McLachlan wrote: > > > > AFAIK, you can't do that in the actual table, you can only do it by > > setting the DefaultValue of a bound control on a form to a function > using > > other bound controls (and the other controls must be before that one in > > the > > tab order) > > > > On 26 May 2007 at 9:09, Arthur Fuller wrote: > > > > > In an Access table, I want the formula for column C to be A/B where A > > and B > > > are columns. I put A/B in the default value slot for C but that > doesn't > > > work. I prefaced it with an = sign but that doesn't work either. I'm > > certain > > > that I have done this before but I can't remember how I did it. Help? > > > > > > TIA, > > > 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 setel.com Sat May 26 11:17:39 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sat, 26 May 2007 12:17:39 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com><46583ABC.2297.297F9890@stuart.lexacorp.com.pg><29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com><6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> Message-ID: <001101c79fb1$627f5bd0$0e32fad1@SusanOne> I agree with you but the customer is always right, and to a certain extent I will give her the benefit of the doubt. She wants to be able to filter the form and various reports by these calculated columns, so she wants to see them there in the table. Besides, we're probably going to upsize the app to SQL Express fairly soon, where I can have the best of both worlds, i.e. genuine calculated columns that consume no disk space but are logically "there". ======You can't base the form on a query with the calculated results? Arthur, give her what she wants -- show her an example where the calculated results is no longer valid because you update a value in one of the anchor fields, and then she gets the wrong result. Show her why want she wants is dangerous. Then show her how you can give her what she really wants -- the ability to filter records -- without the same danger. You need to gently explain to her that when her results are wrong, she's going to blame you. Susan H. From fuller.artful at gmail.com Sat May 26 11:19:52 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 12:19:52 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <84D1E117273F4E51B2680A3765B60B15@BPCS> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> <84D1E117273F4E51B2680A3765B60B15@BPCS> Message-ID: <29f585dd0705260919v26b6ce40n25fecd7bdcfbc5cd@mail.gmail.com> That's not a bad idea. I should have considered that in the first place, instead of whining that I'm not working in SQL Server :) A. On 5/26/07, Bill Patten wrote: > > Arthur, > > Why not connect the customers forms/ reports etc to a query with > calculated > fields? > > Bill From fuller.artful at gmail.com Sat May 26 11:56:44 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sat, 26 May 2007 12:56:44 -0400 Subject: [AccessD] Formula for a calculated field In-Reply-To: <001101c79fb1$627f5bd0$0e32fad1@SusanOne> References: <29f585dd0705260609x3a71ceacg3d0d1011215b4c1d@mail.gmail.com> <46583ABC.2297.297F9890@stuart.lexacorp.com.pg> <29f585dd0705260744x734d17fdne34258aa32411305@mail.gmail.com> <6C1791BC61725F44A28C24208026A51112629D@karta-exc-int.Karta.com> <29f585dd0705260815h343ed9d3l336320e87ca753ce@mail.gmail.com> <001101c79fb1$627f5bd0$0e32fad1@SusanOne> Message-ID: <29f585dd0705260956t573e505ek1db92fb317785b59@mail.gmail.com> Oh but Susan, that is sooo against my style! I prefer to be rude and confrontational. Gentle explanations are for weenies. LOL. Seriously, good advice. A. On 5/26/07, Susan Harkins wrote: > > I agree with you but the customer is always right, and to a certain extent > I > will give her the benefit of the doubt. She wants to be able to filter the > form and various reports by these calculated columns, so she wants to see > them there in the table. Besides, we're probably going to upsize the app > to > SQL Express fairly soon, where I can have the best of both worlds, i.e. > genuine calculated columns that consume no disk space but are logically > "there". > > ======You can't base the form on a query with the calculated results? > Arthur, give her what she wants -- show her an example where the > calculated > results is no longer valid because you update a value in one of the anchor > fields, and then she gets the wrong result. Show her why want she wants is > dangerous. Then show her how you can give her what she really wants -- the > ability to filter records -- without the same danger. > > You need to gently explain to her that when her results are wrong, she's > going to blame you. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From adtp at hotmail.com Sat May 26 13:55:00 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Sun, 27 May 2007 00:25:00 +0530 Subject: [AccessD] Error 3314 (required field) - trap in form_error References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> Message-ID: Gale, My sample db named Forms_CheckReqdAndDuplicates might be of interest to you. It is available at Rogers Access Library (other developers library). Link - http://www.rogersaccesslibrary.com/OtherLibraries.asp#Tejpal,A.D. Brief description is given below. You could adapt the underlying approach suitably, for your specific needs. Best wishes, A.D.Tejpal --------------- Forms_CheckReqdAndDuplicates (Sample Db) (Description) ===================================== 1 - The sample db demonstrates incorporation of following safeguards at data entry stage. (a) Ensuring that for a given record, mandatory fields get entered before permitting data entry in any other field. (b) Ensuring that in case of unique composite index, if data being entered in any of the fields involved in such a combination would lead to creation of duplicates, a friendly message is provided, and the irregular entry is un-done. 2 - Mandatory Fields (Property settings in source table: Required = Yes, Allow zero length = No) (1) Sole dependence upon form's Error event for generating a friendly message, is by itself not adequate (This event fires only when the user tries to save the record or move to another record). (2) In order to ensure that even while staying at a given record, data entry in other fields becomes feasible only after the mandatory ones have been filled in, further programmatic support has been provided, some of the salient features being - (a) Controls pertaining to mandatory fields are identified by setting their tag property = R (This facilitates super-check on blank/filled status of such controls). (b) Once the form gets dirty, mandatory controls in blank state get highlighted in a special color. (c) If any attempt is made to enter data in some other control while any of the mandatory ones is still blank, the focus moves back to the first blank mandatory control, after providing a suitable friendly message. (d) Two styles are demonstrated. (i) Tabbed form (mandatory controls on first page, other controls on subsequent pages). (ii) Datasheet form 3 - Preventing duplicates in fields comprising composite unique index or primary key. (1) Here too, sole dependence upon form's Error event for generating a friendly message, is by itself not quite adequate, for reasons stated against 4.2 (1) above. (2) The sample demonstrates provision of super-check in exit event of controls pertaining to composite unique index. If any entry is such as would lead to duplication of combined field value, the entry is un-done and the exit event gets cancelled, after providing suitable friendly message. The focus continues to remain on the control in question. ===================================== ----- Original Message ----- From: Gale Perez To: accessd at databaseadvisors.com Sent: Saturday, May 26, 2007 04:54 Subject: [AccessD] Error 3314 (required field) - trap in form_error Hi! I have a form with several fields whose "Required" property is Yes, and I want to trap Error 3314 (required field) in the form_error. I would like the code to set focus on the first field that is required and null and display a custom message. The problem is that it isn't seeing the control as Null (so it ignores If IsNull(ctl), and just displays the customary message). I would greatly appreciate any advice. I am also interested in finding out if you can determine a control's table-level properties (e.g., required, and datatype) while in the form, instead of using an asterisk and looking at the label caption to do it. Here is the code: Dim ctl as Control Dim strCaption as String ...... If DataErr = 3314 Then For Each ctl In Me.Controls ' get the caption for the field label strCaption = Screen.ActiveControl.Controls.Item(0).Caption If Left(strCaption, 1) = "*" Then 'required field If IsNull(ctl) Then 'it is ignoring this, not seeing the field as null ctl.SetFocus MsgBox Chr$(34) & strCaption & Chr$(34) & " is a required field." Response = acDataErrContinue Exit sub End If End If Next End if Thank you so much for any assistance, Gale From thewaddles at sbcglobal.net Sat May 26 14:49:02 2007 From: thewaddles at sbcglobal.net (Kevin Waddle) Date: Sat, 26 May 2007 12:49:02 -0700 Subject: [AccessD] Zip codes within a radius In-Reply-To: <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> References: <006101c79e92$fbc3de80$6600a8c0@TheWaddles> <20070525113715.F08DEBD2E@smtp-auth.no-ip.com> Message-ID: <015701c79fce$ebb70cf0$6600a8c0@TheWaddles> John, You wouldn't recognize Mare Island. The only military left at Mare Island is an Army reserve Boat unit. It is being developed for housing, recreation and a college Right now, my son is doing his Summer Cruise for the NROTC on the USS Peleliu. It's kind of hard for a 28 year Air Force guy to accept, but if the Navy is going to pay for college then "Go Navy". Kevin -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, May 25, 2007 4:37 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius Kevin, >I want to be like you when I grow up! Be careful what you ask for, God has a sense of humor. Fairfield eh? I went to a 'C' school down an Mare Island from 1972-1973. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kevin Waddle Sent: Friday, May 25, 2007 2:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Zip codes within a radius I want to be like you when I grow up! -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 22, 2007 3:44 AM To: AccessD Subject: [AccessD] Zip codes within a radius I have posted a fully functioning demo database for finding all of the zip codes within a radius. http://www.databaseadvisors.com/downloads.asp John W. Colby Colby Consulting www.ColbyConsulting.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 miscellany at mvps.org Sat May 26 16:55:06 2007 From: miscellany at mvps.org (Steve Schapel) Date: Sun, 27 May 2007 09:55:06 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000901c79fa1$dcd70aa0$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> Message-ID: <4658ACBA.4030604@mvps.org> Thanks, Dan. Well, I realise there would be a difference of style or preference here, as against a question of right and wrong. For myself, if I was ending up with a ZLS in a memo field, my approach and advice would be to address the problem that is causing this, rather than trying to cover off the possibility in my validation code. Similarly, in the scenario originally described by Gale (Required field being trapped on a form event), my preference would still be the code-free solution of using Validation Rule property. In fact, I would also normally use Validation Rule rather than code in the case of situations such as your: Not IsNull(A) And IsNull(B) Regards Steve Dan Waters wrote: > Steve, > > I agree that while the Screen.ActiveControl may be causing the wrong control > to be checked, the value of the control for memo fields could indeed be a > zero length string and must be checked for. In this example all controls > are being checked (I assumed all the controls on the form could contain > text), so checking for a ZLS on other controls won't hurt. From dwaters at usinternet.com Sun May 27 09:39:24 2007 From: dwaters at usinternet.com (Dan Waters) Date: Sun, 27 May 2007 09:39:24 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <4658ACBA.4030604@mvps.org> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com><4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> <4658ACBA.4030604@mvps.org> Message-ID: <000901c7a06c$d3a1fff0$0200a8c0@danwaters> Hi Steve, The ZLS in memo fields occurs when a user has initially entered some data, and then erases that data. After that, the code doesn't see a null value, but does see a ZLS - odd but consistent. That's just normal user activity. I don't use the Validation rule because I want to give users a message box that is formatted with Bold text, rather than standard text. I've gotten quite a bit of feedback that this is preferred. This is what I use for a MsgBox (This was described on someone's site - don't remember who): Public Function FormattedMsgBox(stgSound As String, stgPrompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String = vbNullString, Optional HelpFile As Variant, Optional Context As Variant) As VbMsgBoxResult Call PlaySoundFile(stgSound) If IsMissing(HelpFile) Or IsMissing(Context) Then FormattedMsgBox = Eval("MsgBox(""" & stgPrompt & """, " & Buttons & ", """ & Title & """)") Else FormattedMsgBox = Eval("MsgBox(""" & stgPrompt & """, " & Buttons & ", """ & Title & """, """ & HelpFile & """, " & Context & ")") End If End Function Also, I want to provide a specific sound with each type of message (Question, Information, Critical, etc.), so I added that capability too. Thanks, Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve Schapel Sent: Saturday, May 26, 2007 4:55 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Thanks, Dan. Well, I realise there would be a difference of style or preference here, as against a question of right and wrong. For myself, if I was ending up with a ZLS in a memo field, my approach and advice would be to address the problem that is causing this, rather than trying to cover off the possibility in my validation code. Similarly, in the scenario originally described by Gale (Required field being trapped on a form event), my preference would still be the code-free solution of using Validation Rule property. In fact, I would also normally use Validation Rule rather than code in the case of situations such as your: Not IsNull(A) And IsNull(B) Regards Steve Dan Waters wrote: > Steve, > > I agree that while the Screen.ActiveControl may be causing the wrong control > to be checked, the value of the control for memo fields could indeed be a > zero length string and must be checked for. In this example all controls > are being checked (I assumed all the controls on the form could contain > text), so checking for a ZLS on other controls won't hurt. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Sun May 27 10:06:36 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 11:06:36 -0400 Subject: [AccessD] OLEDB product names Message-ID: <005901c7a070$9fa5e820$de34fad1@SusanOne> I think I'm embarrassed to be asking this question, but how would you go about getting all the OLEDB product names and provider strings? I have a few short lists, but what happens when you need a product that's not on your list? Susan H. From stuart at lexacorp.com.pg Sun May 27 10:55:50 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 01:55:50 +1000 Subject: [AccessD] OLEDB product names In-Reply-To: <005901c7a070$9fa5e820$de34fad1@SusanOne> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> Message-ID: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a few > short lists, but what happens when you need a product that's not on your > list? > -- Stuart From jwcolby at colbyconsulting.com Sun May 27 11:05:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 12:05:13 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> Message-ID: <20070527160513.F1457BD5B@smtp-auth.no-ip.com> Can we get this up on our website? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan Sent: Sunday, May 27, 2007 11:56 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? > -- Stuart -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Sun May 27 11:27:01 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 12:27:01 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> <4659AA06.5676.2F1A547E@stuart.lexacorp.com.pg> Message-ID: <000601c7a07b$dbe5f1d0$f432fad1@SusanOne> Wow -- thank you -- that's very comprehensive. Susan H. I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? From ssharkins at setel.com Sun May 27 11:42:14 2007 From: ssharkins at setel.com (Susan Harkins) Date: Sun, 27 May 2007 12:42:14 -0400 Subject: [AccessD] How about Product ids? ( OLEDB product names) Message-ID: <000e01c7a07d$fc0ac970$f432fad1@SusanOne> OK, here's another one -- how about SQL Server's sp_addlinkedserver stored procedure? One of its arguments is productname, @srvproduct (the product id) -- and they're not exactly intuitive. :( I've looked for a good list, but not found one. Susan H. Wow -- thank you -- that's very comprehensive. Susan H. I look them up at http://www.connectionstrings.com/ On 27 May 2007 at 11:06, Susan Harkins wrote: > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? From fuller.artful at gmail.com Sun May 27 11:45:13 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Sun, 27 May 2007 12:45:13 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <005901c7a070$9fa5e820$de34fad1@SusanOne> References: <005901c7a070$9fa5e820$de34fad1@SusanOne> Message-ID: <29f585dd0705270945v19f8e42aw5fcc645ab68adf15@mail.gmail.com> You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a > few > short lists, but what happens when you need a product that's not on your > list? > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From accessd at shaw.ca Sun May 27 12:16:53 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Sun, 27 May 2007 10:16:53 -0700 Subject: [AccessD] OLEDB product names In-Reply-To: <29f585dd0705270945v19f8e42aw5fcc645ab68adf15@mail.gmail.com> Message-ID: <0JIP00E9HMG89C90@l-daemon> Again... it is already in the Reference section on the DBA website: http://www.databaseadvisors.com/reference/referencemisc.asp HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 27, 2007 9:45 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you go > about getting all the OLEDB product names and provider strings? I have a > few > short lists, but what happens when you need a product that's not on your > list? > > 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 jwcolby at colbyconsulting.com Sun May 27 12:52:18 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 13:52:18 -0400 Subject: [AccessD] OLEDB product names In-Reply-To: <0JIP00E9HMG89C90@l-daemon> Message-ID: <20070527175218.F377FBCBC@smtp-auth.no-ip.com> Great. Thanks. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Sunday, May 27, 2007 1:17 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] OLEDB product names Again... it is already in the Reference section on the DBA website: http://www.databaseadvisors.com/reference/referencemisc.asp HTH Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, May 27, 2007 9:45 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] OLEDB product names You can obtain the standard names from BOL under the entry sp_addlinkedserver. Those listed are the ones that MS knew of when BOL was written. There may be others, provided by various companies such as the DB manufacturer. Here is a list of providers, I'm not sure how complete: http://www.carlprothman.net/Default.aspx?tabid=87. On 5/27/07, Susan Harkins wrote: > > I think I'm embarrassed to be asking this question, but how would you > go about getting all the OLEDB product names and provider strings? I > have a few short lists, but what happens when you need a product > that's not on your list? > > 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 jwcolby at colbyconsulting.com Sun May 27 12:55:13 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Sun, 27 May 2007 13:55:13 -0400 Subject: [AccessD] Merge records Message-ID: <20070527175513.E10D6BCED@smtp-auth.no-ip.com> I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com From miscellany at mvps.org Sun May 27 18:21:52 2007 From: miscellany at mvps.org (Steve Schapel) Date: Mon, 28 May 2007 11:21:52 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000901c7a06c$d3a1fff0$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <4657B454.1020405@mvps.org> <000901c79fa1$dcd70aa0$0200a8c0@danwaters> <4658ACBA.4030604@mvps.org> <000901c7a06c$d3a1fff0$0200a8c0@danwaters> Message-ID: <465A1290.1010008@mvps.org> Hi Dan, Dan Waters wrote: > The ZLS in memo fields occurs when a user has initially entered some data, > and then erases that data. After that, the code doesn't see a null value, > but does see a ZLS - odd but consistent. That's just normal user activity. That's an example of exactly what I am talking about. In the unlikely event that an entry in a memo field is Required, and the user edits the memo control by deleting all exisitng data, then my style would be to attack that immediately. > I don't use the Validation rule because I want to give users a message box > that is formatted with Bold text, rather than standard text. I've gotten > quite a bit of feedback that this is preferred. Yes, I have a MsgBox97() function I use sometimes for this purpose (named in honour of the fact that Access 97 provides the bolding functionality natively). But anyway, fair enough, the Validation Text messages do not, as far as I know, allow for that level of customisation, so I can see where you coming from. For myself, validation at the level of the database engine has advantages which I will continue to avail myself of. > Also, I want to provide a specific sound with each type of message > (Question, Information, Critical, etc.), so I added that capability too. The sounds Access uses by default are different for each type of MsgBox. But again, if you want to use your own... Regards Steve From viner at EUnet.yu Mon May 28 04:35:20 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 11:35:20 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) Message-ID: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Hi, how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a label or text box control? Many TIA's, Ervin From andy at minstersystems.co.uk Mon May 28 05:23:25 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Mon, 28 May 2007 11:23:25 +0100 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Message-ID: <001101c7a112$3e45e600$c67fd355@minster33c3r25> Not sure if it's the character you want but a text box with a control source of =CHR(172) is aright-angle of sorts. -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Ervin Brindza > Sent: 28 May 2007 10:35 > To: AccessD at databaseadvisors.com > Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > > > Hi, > how can I show the 'RIGHT ANGLE' (U+221F) character on my > form, in a label or text box control? Many TIA's, > Ervin > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From miscellany at mvps.org Mon May 28 05:43:48 2007 From: miscellany at mvps.org (Steve Schapel) Date: Mon, 28 May 2007 22:43:48 +1200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> Message-ID: <465AB264.1010603@mvps.org> Ervin, You can go to the Character Map (Accessories=>System Tools in Windows XP), find the character you want (not all fonts include the U+221F character), and Select/Copy it. After that you can go to your Access application and simply Paste it in where you want it. Regards Steve Ervin Brindza wrote: > Hi, > how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a label or text box control? > Many TIA's, > Ervin From viner at EUnet.yu Mon May 28 05:40:08 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 12:40:08 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <001101c7a112$3e45e600$c67fd355@minster33c3r25> Message-ID: <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> Andy, many thanks, but it isn't the character I want ;0( I need that character trying to achieve the "tree view look" on my form... Ervin ----- Original Message ----- From: "Andy Lacey" To: "'Access Developers discussion and problem solving'" Sent: Monday, May 28, 2007 12:23 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > Not sure if it's the character you want but a text box with a control > source of =CHR(172) is aright-angle of sorts. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Ervin Brindza >> Sent: 28 May 2007 10:35 >> To: AccessD at databaseadvisors.com >> Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) >> >> >> Hi, >> how can I show the 'RIGHT ANGLE' (U+221F) character on my >> form, in a label or text box control? Many TIA's, >> Ervin >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/accessd >> Website: http://www.databaseadvisors.com >> >> > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From viner at EUnet.yu Mon May 28 06:17:56 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 13:17:56 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin> <465AB264.1010603@mvps.org> Message-ID: <004501c7a119$da361420$0100a8c0@RazvojErvin> Thanks, but no success, because I need it in a VBA code, to programarically fill the content of the text box ;0( E. ----- Original Message ----- From: "Steve Schapel" To: "Access Developers discussion and problem solving" Sent: Monday, May 28, 2007 12:43 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > Ervin, > > You can go to the Character Map (Accessories=>System Tools in Windows > XP), find the character you want (not all fonts include the U+221F > character), and Select/Copy it. After that you can go to your Access > application and simply Paste it in where you want it. > > Regards > Steve > > > Ervin Brindza wrote: >> Hi, >> how can I show the 'RIGHT ANGLE' (U+221F) character on my form, in a >> label or text box control? >> Many TIA's, >> Ervin > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From stuart at lexacorp.com.pg Mon May 28 06:34:21 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 21:34:21 +1000 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> References: <001101c7a112$3e45e600$c67fd355@minster33c3r25>, <001401c7a118$5b4787d0$0100a8c0@RazvojErvin> Message-ID: <465ABE3D.14611.33514972@stuart.lexacorp.com.pg> Open "Character Map", select Arial Unicode, select the character and then click on Copy. or Open Word, type 221f followed by Alt+X, then select it. Now paste it into the label or type '=" and paste it into the textbox followed by another '"' On 28 May 2007 at 12:40, Ervin Brindza wrote: > Andy, > many thanks, but it isn't the character I want ;0( > I need that character trying to achieve the "tree view look" on my form... > Ervin ----- Original Message ----- From: "Andy Lacey" > To: "'Access Developers discussion and problem > solving'" Sent: Monday, May 28, 2007 12:23 PM > Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > > > > Not sure if it's the character you want but a text box with a control > > source of =CHR(172) is aright-angle of sorts. > > > > -- Andy Lacey > > http://www.minstersystems.co.uk > > > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > >> Ervin Brindza > >> Sent: 28 May 2007 10:35 > >> To: AccessD at databaseadvisors.com > >> Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > >> > >> > >> Hi, > >> how can I show the 'RIGHT ANGLE' (U+221F) character on my > >> form, in a label or text box control? Many TIA's, > >> Ervin > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/accessd > >> Website: http://www.databaseadvisors.com > >> > >> > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > > -- > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > > 2:11 PM > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- Stuart From stuart at lexacorp.com.pg Mon May 28 06:41:11 2007 From: stuart at lexacorp.com.pg (Stuart McLachlan) Date: Mon, 28 May 2007 21:41:11 +1000 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) In-Reply-To: <004501c7a119$da361420$0100a8c0@RazvojErvin> References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin>, <004501c7a119$da361420$0100a8c0@RazvojErvin> Message-ID: <465ABFD7.27098.33578CF6@stuart.lexacorp.com.pg> In that case: txtRightAngle = ChrW(&H221F) or txtRightAngle = ChrB(&H1F) + ChrB(&H22) On 28 May 2007 at 13:17, Ervin Brindza wrote: > Thanks, but no success, because I need it in a VBA code, to programarically > fill the content of the text box -- Stuart From viner at EUnet.yu Mon May 28 07:33:50 2007 From: viner at EUnet.yu (Ervin Brindza) Date: Mon, 28 May 2007 14:33:50 +0200 Subject: [AccessD] Special character 'RIGHT ANGLE' (U+221F) References: <010b01c7a10b$86301a00$0100a8c0@RazvojErvin>, <004501c7a119$da361420$0100a8c0@RazvojErvin> <465ABFD7.27098.33578CF6@stuart.lexacorp.com.pg> Message-ID: <001a01c7a124$8761d9e0$0100a8c0@RazvojErvin> Stuart, magnificent!!! Thanks a lot, Ervin ----- Original Message ----- From: "Stuart McLachlan" To: "Access Developers discussion and problem solving" Sent: Monday, May 28, 2007 1:41 PM Subject: Re: [AccessD] Special character 'RIGHT ANGLE' (U+221F) > In that case: > txtRightAngle = ChrW(&H221F) > or > txtRightAngle = ChrB(&H1F) + ChrB(&H22) > > > On 28 May 2007 at 13:17, Ervin Brindza wrote: > >> Thanks, but no success, because I need it in a VBA code, to >> programarically >> fill the content of the text box -- > Stuart > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.446 / Virus Database: 269.6.2/787 - Release Date: 5/3/2007 > 2:11 PM > > From ssharkins at setel.com Mon May 28 08:06:53 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 09:06:53 -0400 Subject: [AccessD] Darren Dick Message-ID: <003d01c7a129$1812ba00$3cbc2ad1@SusanOne> Darren, the email address I have for you is bouncing -- would you contact me privately at ssharkins at setel.com. Group -- I apologize, carry on. ;) Susan H. From jwcolby at colbyconsulting.com Mon May 28 10:06:51 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 11:06:51 -0400 Subject: [AccessD] deduplication In-Reply-To: <0cf401c73862$dcb490c0$0709177d@pcadt> Message-ID: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Mon May 28 10:46:19 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 11:46:19 -0400 Subject: [AccessD] deduplication In-Reply-To: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> References: <0cf401c73862$dcb490c0$0709177d@pcadt> <20070528150652.BD38EBC84@smtp-auth.no-ip.com> Message-ID: <001801c7a13f$56730aa0$a7b82ad1@SusanOne> John, I'd remove all but the outer parentheses to see what kind of error you get -- will probably be more productive. WHERE (tblData1.HashPerson = tblData.HashPerson AND tblData1.PKID <=TblData.ID > 1) Susan H. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Monday, May 28, 2007 11:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.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 Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From adtp at hotmail.com Mon May 28 12:28:38 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Mon, 28 May 2007 22:58:38 +0530 Subject: [AccessD] deduplication References: <20070528150652.BD38EBC84@smtp-auth.no-ip.com> Message-ID: John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com From DWUTKA at Marlow.com Mon May 28 12:45:14 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 12:45:14 -0500 Subject: [AccessD] Electronic Signature Message-ID: Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From Gustav at cactus.dk Mon May 28 13:08:03 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 28 May 2007 20:08:03 +0200 Subject: [AccessD] Electronic Signature Message-ID: Hi Drew Thanks! What is/was the purpose of strLDAPConn? /gustav >>> DWUTKA at Marlow.com 28-05-2007 19:45 >>> Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew From jwcolby at colbyconsulting.com Mon May 28 14:00:44 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 15:00:44 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From adtp at hotmail.com Mon May 28 14:03:13 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 00:33:13 +0530 Subject: [AccessD] Merge records References: <20070527175513.E10D6BCED@smtp-auth.no-ip.com> Message-ID: John, Sample update query given below, will update fields F1 to F4 in table tblData. If any field is empty, it will get filled in by the first significant value occurring in any record for this field, for the given HashPerson. This query makes use of function Fn_MergedValue(), also given below. After updating, duplicate records can be removed by running the sample delete query as given below. For a large sized table with large number of fields, if serious slow down is experienced while running the update query, you could consider carrying out the update process for a few fields at a time Best wishes, A.D.Tejpal --------------- Query for updating fields F1 to F4 (If the field is empty, first available value) ====================================== UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = Fn_MergedValue("F4",[F4],[HashPerson]); ====================================== Query for deleting duplicate HashPersons ====================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ====================================== Fn_MergedValue() - User defined function ====================================== Function Fn_MergedValue( _ ByVal FieldName As String, _ ByVal FieldValue As Variant, _ ByVal HashPersonValue _ As String) As String Dim Qst As String, Fdv As String Dim rst As DAO.Recordset Fdv = Nz(FieldValue, "") ' If field has significant value, retain it If Len(Fdv) > 0 Then GoTo ExitPoint End If ' If field is empty, fill in the first significant value ' occuring in any record for this field, for the ' given HashPerson Qst = "SELECT TOP 1 " & FieldName & _ " FROM tblData WHERE " & _ "HashPerson = '" & HashPersonValue & _ "' And Len(" & FieldName & ") > 0;" Set rst = DBEngine(0)(0).OpenRecordset(Qst) If rst.RecordCount > 0 Then Fdv = Nz(rst.Fields(0), "") End If ExitPoint: Fn_MergedValue = Fdv On Error Resume Next rst.Close Set rst = Nothing On Error GoTo 0 ' Note - For repetitive use, DBEngine(0)(0) ' is preferred over CurrentDb End Function ====================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Sunday, May 27, 2007 23:25 Subject: [AccessD] Merge records I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com From Gustav at cactus.dk Mon May 28 14:29:06 2007 From: Gustav at cactus.dk (Gustav Brock) Date: Mon, 28 May 2007 21:29:06 +0200 Subject: [AccessD] deduplication Message-ID: Hi John You may get better results by using NOT IN: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); Air code. Test with caution. /gustav >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com From accessd at shaw.ca Mon May 28 14:37:30 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Mon, 28 May 2007 12:37:30 -0700 Subject: [AccessD] Electronic Signature In-Reply-To: Message-ID: <0JIR00JNONMGCI83@l-daemon> Hi Drew: Thanks for that looks really cool... how all the pieces fit together would undoubtedly become clear when viewing a working model. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Monday, May 28, 2007 10:45 AM To: Access Developers discussion and problem solving Subject: [AccessD] Electronic Signature Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Mon May 28 14:56:23 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 15:56:23 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> I created HashID fields which use the SHA1 hash function built in to SQL Server 2007. That gives me one single field to index and pull HashIDs from which uniquely identifies duplicates using count() grouping queries. These hash fields work quite well, though they are unreadable. The nice part is that they reduce multiple field strings - Addr, zip5, zip4 and even Lname & fName which are potentially 60 or 70 (or more) bytes long down to a string only about 20 bytes long. I then index those. I am building a query that returns HashIDs where count(HashID) > 0. Using that I pull all the PKIDs for those HashIDs. Using that I pull Max(PKID). You get the picture. Even starting with the HashID fields it is a multi-step process, kinda the 'brute force' approach, and I was hoping to come up with something simpler. So far A.D.s suggestion has refused to compile, regardless of how I muck around with it. I got a delete method working, but it does require running the delete query until no records delete. There are cases where I have 4,5, or even more duplicates. Once I figure out what I am doing, I hope to create a stored procedure where I can input the table name and just have the process run against that table. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 28, 2007 3:29 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] deduplication Hi John You may get better results by using NOT IN: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); Air code. Test with caution. /gustav >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From johnnyclock at gmail.com Mon May 28 15:05:57 2007 From: johnnyclock at gmail.com (Jonathan Gold) Date: Mon, 28 May 2007 13:05:57 -0700 Subject: [AccessD] deduplication In-Reply-To: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> References: <20070528195623.B3B1ABD82@smtp-auth.no-ip.com> Message-ID: <54130da90705281305k343e0ff1m16f3478efbe5b4ba@mail.gmail.com> This can't be it, but I notice that in your statement you have a capital 'T' (<=TblData.ID) where I expect a lower-case one: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; On 5/28/07, jwcolby wrote: > > I created HashID fields which use the SHA1 hash function built in to SQL > Server 2007. That gives me one single field to index and pull HashIDs > from > which uniquely identifies duplicates using count() grouping > queries. These > hash fields work quite well, though they are unreadable. The nice part is > that they reduce multiple field strings - Addr, zip5, zip4 and even Lname > & > fName which are potentially 60 or 70 (or more) bytes long down to a string > only about 20 bytes long. I then index those. > > I am building a query that returns HashIDs where count(HashID) > 0. Using > that I pull all the PKIDs for those HashIDs. Using that I pull Max(PKID). > You get the picture. Even starting with the HashID fields it is a > multi-step process, kinda the 'brute force' approach, and I was hoping to > come up with something simpler. > > So far A.D.s suggestion has refused to compile, regardless of how I muck > around with it. > > I got a delete method working, but it does require running the delete > query > until no records delete. There are cases where I have 4,5, or even more > duplicates. > > Once I figure out what I am doing, I hope to create a stored procedure > where > I can input the table name and just have the process run against that > table. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock > Sent: Monday, May 28, 2007 3:29 PM > To: accessd at databaseadvisors.com > Subject: Re: [AccessD] deduplication > > Hi John > > You may get better results by using NOT IN: > > DELETE * FROM tblData > WHERE PKID NOT IN (SELECT TOP 1 FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID ORDER BY T1.PKID); > > Air code. Test with caution. > > /gustav > > > >>> jwcolby at colbyconsulting.com 28-05-2007 21:00 >>> > A.D. > > It seems to me that the subquery SELECT should be able to stand alone, and > the subquery is giving a "Incorrect syntax near '>'" > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, May 28, 2007 1:29 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] deduplication > > John, > > Considering the table & field names mentioned by you, the SQL given > below should get you the desired results. > > You might like to try it out & confirm the outcome. > > Best wishes, > A.D.Tejpal > --------------- > > ===================================== > DELETE * FROM tblData > WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; > ===================================== > > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' > Sent: Monday, May 28, 2007 20:36 > Subject: Re: [AccessD] deduplication > > > A.D. (or anyone willing to chime in) > > I am attempting to implement your solution. I created the following > select > which should be the sub query in the outer WHERE: > > SELECT count(*) > FROM tblData > AS tblData1 > WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID > <=TblData.ID)) > 1; > > However I am getting the very infamous Incorrect syntax near '>'. > > Any thoughts? > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, January 15, 2007 12:05 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] deduplication > > Sample query as given below, would remove all duplicates (other than > the first occurrence for each case). > > T_Data is the name of table, while F1, F2 & F3 are the names of > fields, whose combined value determines whether a record is duplicate or > not. ID is the primary key (number type). > > A.D.Tejpal > --------------- > > ===================================== > DELETE * FROM T_Data > WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = > T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; > ===================================== > > ----- Original Message ----- > From: JWColby > To: 'Access Developers discussion and problem solving' ; > dba-sqlserver at databaseadvisors.com > Sent: Monday, January 15, 2007 09:19 > Subject: [AccessD] deduplication > > Is there a SQL syntax or method for identifying duplicate records > based > on and automatically removing (or marking) the second and subsequent > instances of that record. > > I am working with a database where there may be several records for > the > same person. Each record will have slightly different data in the record. > I > need to find all the records for a given person, remove or somehow flag > the > "duplicate" records, and eventually "merge" the duplicate records > together. > > I know how to use groupby and count to find the dupes but I don't > really > know how to then merge fields F through M from records 2,3 and 4 back into > fields F through M in record 1. This is going to be an ongoing project so > I > need to learn the methodology to get it done. I can do it with recordsets > and code, but not with SQL, and given the large potential numbers of > records > SQL would be my first choice. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 > -- Jonathan Berkeley, CA http://home.pacbell.net/jonnygee/ From ssharkins at setel.com Mon May 28 15:06:29 2007 From: ssharkins at setel.com (Susan Harkins) Date: Mon, 28 May 2007 16:06:29 -0400 Subject: [AccessD] deduplication In-Reply-To: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> References: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> Message-ID: <004901c7a163$aeeb9f20$a7b82ad1@SusanOne> Oh wait... That's a DELETE query -- can you run a DELETE with a subquery? Susan H. A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, January 15, 2007 12:05 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication Sample query as given below, would remove all duplicates (other than the first occurrence for each case). T_Data is the name of table, while F1, F2 & F3 are the names of fields, whose combined value determines whether a record is duplicate or not. ID is the primary key (number type). A.D.Tejpal --------------- ===================================== DELETE * FROM T_Data WHERE (SELECT Count(*) FROM T_Data As T1 WHERE (T1.F1 & T1.F2 & T1.F3 = T_Data.F1 & T_Data.F2 & T_Data.F3) AND (T1.ID <= T_Data.ID)) > 1; ===================================== ----- Original Message ----- From: JWColby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Monday, January 15, 2007 09:19 Subject: [AccessD] deduplication Is there a SQL syntax or method for identifying duplicate records based on and automatically removing (or marking) the second and subsequent instances of that record. I am working with a database where there may be several records for the same person. Each record will have slightly different data in the record. I need to find all the records for a given person, remove or somehow flag the "duplicate" records, and eventually "merge" the duplicate records together. I know how to use groupby and count to find the dupes but I don't really know how to then merge fields F through M from records 2,3 and 4 back into fields F through M in record 1. This is going to be an ongoing project so I need to learn the methodology to get it done. I can do it with recordsets and code, but not with SQL, and given the large potential numbers of records SQL would be my first choice. John W. Colby Colby Consulting www.ColbyConsulting.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 Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From adtp at hotmail.com Mon May 28 15:08:45 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 01:38:45 +0530 Subject: [AccessD] deduplication References: <20070528190045.3C4ECBD0B@smtp-auth.no-ip.com> Message-ID: John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 00:30 Subject: Re: [AccessD] deduplication A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com From DWUTKA at Marlow.com Mon May 28 15:35:28 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 15:35:28 -0500 Subject: [AccessD] Electronic Signature In-Reply-To: References: Message-ID: Ooops, forgot to take that out....the original function had manual settings, I modified it to grab the current domain. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Monday, May 28, 2007 1:08 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Electronic Signature Hi Drew Thanks! What is/was the purpose of strLDAPConn? /gustav >>> DWUTKA at Marlow.com 28-05-2007 19:45 >>> Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From DWUTKA at Marlow.com Mon May 28 15:36:35 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Mon, 28 May 2007 15:36:35 -0500 Subject: [AccessD] Electronic Signature In-Reply-To: <0JIR00JNONMGCI83@l-daemon> References: <0JIR00JNONMGCI83@l-daemon> Message-ID: Just make a form with two text boxes. Username and Password. Feed them into the function. The function returns true if the username and password are valid on the domain you're on. False if invalid. Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Monday, May 28, 2007 2:38 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Electronic Signature Hi Drew: Thanks for that looks really cool... how all the pieces fit together would undoubtedly become clear when viewing a working model. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Monday, May 28, 2007 10:45 AM To: Access Developers discussion and problem solving Subject: [AccessD] Electronic Signature Hey folks, I've spent most of the weekend updating a system I built about 7 years ago. It's our Help Desk program. One of the features I've always wanted to add was an electronic signature capability. To do this, I wanted to be able to prompt for a user's NT Name and Password, and validate it. It is very simple to get the currently logged on user's NT name, but for an electronic signature, it is much better to prompt for credentials. I found code, years ago, that did this, but it wasn't perfect, because it didn't work for my NT account. I have an odd character in my password, and everything I had found would fail to authenticate with passwords that had odd ascii values in them. (Even though I can log onto our network fine). This weekend I found (and tweaked) a process that works perfectly. I figured I would share the validation function with ya'all: (It needs a reference to ADO) Function ValidateNTUser(strUserName As String, strPassword As String) As Boolean On Error Resume Next Dim strDomain As String Dim conLDAP As ADODB.Connection Dim strSQL As String Dim strLDAPConn As String Dim rsUser As ADODB.Recordset strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") Set conLDAP = New ADODB.Connection conLDAP.Provider = "ADSDSOOBject" strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where objectClass='user' and objectcategory='person' and SamAccountName='" & strUserName & "'" conLDAP.Provider = "ADsDSOObject" conLDAP.Properties("User ID") = strUserName conLDAP.Properties("Password") = strPassword conLDAP.Properties("Encrypt Password") = True conLDAP.Open "DS Query", strUserName, strPassword Err.Clear Set rsUser = conLDAP.Execute(strSQL) ValidateNTUser = False If Err.Number = 0 Then If Not (rsUser Is Nothing) Then If Not (rsUser.EOF And rsUser.BOF) Then ValidateNTUser = True End If End If End If End Function Drew The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From jwcolby at colbyconsulting.com Mon May 28 15:48:14 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Mon, 28 May 2007 16:48:14 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070528204815.13262BE63@smtp-auth.no-ip.com> A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 00:30 Subject: Re: [AccessD] deduplication A.D. It seems to me that the subquery SELECT should be able to stand alone, and the subquery is giving a "Incorrect syntax near '>'" John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 1:29 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, Considering the table & field names mentioned by you, the SQL given below should get you the desired results. You might like to try it out & confirm the outcome. Best wishes, A.D.Tejpal --------------- ===================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ===================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Monday, May 28, 2007 20:36 Subject: Re: [AccessD] deduplication A.D. (or anyone willing to chime in) I am attempting to implement your solution. I created the following select which should be the sub query in the outer WHERE: SELECT count(*) FROM tblData AS tblData1 WHERE ((tblData1.HashPerson = tblData.HashPerson) AND (tblData1.PKID <=TblData.ID)) > 1; However I am getting the very infamous Incorrect syntax near '>'. Any thoughts? John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Mon May 28 16:19:44 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Mon, 28 May 2007 14:19:44 -0700 Subject: [AccessD] Electronic Signature In-Reply-To: References: <0JIR00JNONMGCI83@l-daemon> Message-ID: <465B4770.20602@shaw.ca> Just a security check, does your routine pass true for a username string ' Or 1=1 -- Yup the quote is part of the string Drew Wutka wrote: >Just make a form with two text boxes. Username and Password. Feed them >into the function. The function returns true if the username and >password are valid on the domain you're on. False if invalid. > >Drew > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence >Sent: Monday, May 28, 2007 2:38 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Electronic Signature > >Hi Drew: > >Thanks for that looks really cool... how all the pieces fit together >would >undoubtedly become clear when viewing a working model. > >Jim > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka >Sent: Monday, May 28, 2007 10:45 AM >To: Access Developers discussion and problem solving >Subject: [AccessD] Electronic Signature > >Hey folks, I've spent most of the weekend updating a system I built >about 7 years ago. It's our Help Desk program. One of the features >I've always wanted to add was an electronic signature capability. To do >this, I wanted to be able to prompt for a user's NT Name and Password, >and validate it. It is very simple to get the currently logged on >user's NT name, but for an electronic signature, it is much better to >prompt for credentials. I found code, years ago, that did this, but it >wasn't perfect, because it didn't work for my NT account. I have an odd >character in my password, and everything I had found would fail to >authenticate with passwords that had odd ascii values in them. (Even >though I can log onto our network fine). > > > >This weekend I found (and tweaked) a process that works perfectly. I >figured I would share the validation function with ya'all: (It needs a >reference to ADO) > > > >Function ValidateNTUser(strUserName As String, strPassword As String) As >Boolean > >On Error Resume Next > >Dim strDomain As String > >Dim conLDAP As ADODB.Connection > >Dim strSQL As String > >Dim strLDAPConn As String > >Dim rsUser As ADODB.Recordset > >strDomain = GetObject("LDAP://RootDSE").Get("defaultNamingContext") > >Set conLDAP = New ADODB.Connection > >conLDAP.Provider = "ADSDSOOBject" > >strSQL = "Select AdsPath, cn From 'LDAP://" & strDomain & "' where >objectClass='user' and objectcategory='person' and SamAccountName='" & >strUserName & "'" > >conLDAP.Provider = "ADsDSOObject" > >conLDAP.Properties("User ID") = strUserName > >conLDAP.Properties("Password") = strPassword > >conLDAP.Properties("Encrypt Password") = True > >conLDAP.Open "DS Query", strUserName, strPassword > >Err.Clear > >Set rsUser = conLDAP.Execute(strSQL) > >ValidateNTUser = False > >If Err.Number = 0 Then > > If Not (rsUser Is Nothing) Then > > If Not (rsUser.EOF And rsUser.BOF) Then > > ValidateNTUser = True > > End If > > End If > >End If > >End Function > > -- Marty Connelly Victoria, B.C. Canada From gustav at cactus.dk Mon May 28 17:33:47 2007 From: gustav at cactus.dk (Gustav Brock) Date: Tue, 29 May 2007 00:33:47 +0200 Subject: [AccessD] deduplication Message-ID: Hi John OK. Then this should work: DELETE * FROM tblData WHERE PKID NOT IN (SELECT TOP 1 PKID FROM tblData As T1 WHERE T1.HashFamily = tblData.HashFamily ORDER BY T1.PKID); Still air code ... /gustav From adtp at hotmail.com Tue May 29 00:35:28 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 11:05:28 +0530 Subject: [AccessD] deduplication References: <20070528204815.13262BE63@smtp-auth.no-ip.com> Message-ID: John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 02:18 Subject: Re: [AccessD] deduplication A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- From rockysmolin at bchacc.com Tue May 29 00:39:29 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Mon, 28 May 2007 22:39:29 -0700 Subject: [AccessD] Need to Break Informix Password Message-ID: <00ad01c7a1b3$ba4c9ef0$0301a8c0@HAL9005> Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. From darrend at nimble.com.au Tue May 29 01:12:32 2007 From: darrend at nimble.com.au (Darren D) Date: Tue, 29 May 2007 16:12:32 +1000 Subject: [AccessD] Darren Dick In-Reply-To: <003d01c7a129$1812ba00$3cbc2ad1@SusanOne> Message-ID: <200705290803.l4T83bBu022078@databaseadvisors.com> NO ARCHIVE Really sorry team - please ignore Hi Susan Yes got your email to the TRIPLEDEE address now my emails to you @ setel.com are bouncing Reason: Remote SMTP Server Returned: 421 temporary envelope failure (#4.3.0) Not sure what this means Sorry team Darren ------------------ T: 0424 696 433 -----Original Message----- From: Susan Harkins [mailto:ssharkins at setel.com] Sent: Monday, 28 May 2007 11:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Darren Dick Darren, the email address I have for you is bouncing -- would you contact me privately at ssharkins at setel.com. Group -- I apologize, carry on. ;) Susan H. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 28/05/2007 11:40 AM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 28/05/2007 11:40 AM From jwcolby at colbyconsulting.com Tue May 29 06:07:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:07:15 -0400 Subject: [AccessD] Need to Break Informix Password In-Reply-To: <00ad01c7a1b3$ba4c9ef0$0301a8c0@HAL9005> Message-ID: <20070529110717.AE361BD46@smtp-auth.no-ip.com> 1 gigabyte is not bad to send over the internet - ftp. Zip it up and upload to an FTP site. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Tuesday, May 29, 2007 1:39 AM To: 'Access Developers discussion and problem solving' Cc: List Subject: [AccessD] Need to Break Informix Password Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 29 06:18:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:18:30 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070529111832.6AEECBF8A@smtp-auth.no-ip.com> A.D. It is possible that the reason for the problem is the environment. Due to the size of the databases, I do all of this stuff in SQL Server. All I know is that when I do the "verify sql syntax" it returns an error. I am still working on it. I pulled a table of just the duplicates. I could send just those in a separate database container, zipped up. I'll let you know if I need to do that. I have to get this stuff working today or I will be in trouble. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Tuesday, May 29, 2007 1:35 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] deduplication John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 02:18 Subject: Re: [AccessD] deduplication A.D. I typed in your delete query exactly as specified and it too gave me "compile" errors. For starters, my PKIDs are not necessarily sequential. The data originated in a 65 million record table (tblHSID). That table had a sequential PKID. I subsequently ran the address portion of those 65 million records through an address validation package, coming out with about 51 million records with valid addresses. I created a brand new table (tblAZHSID) with the original PKIDs, plus the name / address info, plus other data added in by the address validation software (delivery route, lat/long etc). So right there you can see that the PKIDs are missing 14 million numbers out of the original 65 million sequential numbers. I went back in to the tblAZHSID (validated address table) and created three new fields called HashAddr, HashFamily and HashPerson. I then filled in these fields using the hash function in SQL Server 2007 - Hash(Addr + Zip5 + zip4) for HashAddr, Hash(Addr + Zip5 + zip4 + Lname) for HashFamily and Hash(Addr + Zip5 + zip4 + Lname + Fname) for HashPerson. I then indexed these three fields. I then get an "order" where I have to join the validated tblAZHSID back to tblHSID using the PKID, and then run WHERE clauses on the various data fields back in tblHSID. This resulted (in this particular order) in a new tblData of about 4.3 million records. This new table has only PKID, Lname, Fname, Addr, City, St, Zip5, Zip4, HashAddr, HashFamily and HashPerson fields. It is used for mailing labels and needs nothing more to fill the order. It is against this tblData that I am attempting to dedupe. I will need to dedupe to the family level, in other words there should be one and only one record in tblData with any given HashFamily value. The 4.3 million records have about 600k records with duplicate HashPerson values, usually 2 of the same person, but occasionally 3,4,5 or more of the same person. Obviously, any record with the same HashPerson value will also have the same HashFamily value since they have the same last name. However there will probably be even more duplicates in HashFamily since there can be multiple family members in the table, Mary Colby and John Colby, both at the same address. Now, the PKIDs as I have already discussed are not even close to consecutive. I have a fairly random selection (though not intentionally so) of 4.3 million PKs out of an original 65 million PKs. My job is to dedupe these 4.3 million records to the FAMILY level. That may in fact leave duplicates an the HashAddr level. This would occur where there are people with different last names living at the same address. By de-duping to the family level though I will in fact also dedupe to the person level. In order to dedupe to the person level I simply use the HashPerson field in all of my queries where I am looking for duplicate Hash IDs. To dedupe to the Family level, I use HashFamily field. To dedupe to the address level (only one label per address) I simply use HashAddr as the HashID field where I look for duplicates. Regardless of which level of de-duping I am attempting to accomplish, the strategy is the same. 1) Select a Hash field to use as the duplicate search mechanism 2) Find all HASHIDs in the selected hash field where count(SelectedHashField) > 1. 3) Get PKIDs for all such HashIDs in step 2 above. 4) Obtain Max(PKID) using grouping on HashID in step 3 above. 5) Obtain PKIDs in step 3 above but not in Max(PKID) query step 4 above. 6) Delete records with those PKIDs. Or at least that is my brute force method. The brute force method seems to work but obviously takes some serious work to make happen on a given table. I am working on standardizing my field names such that I can then use stored procedures to feed in a table name and get a delete to happen. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 4:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] deduplication John, If you are in a position to clarify as to what type of output you are aiming at (by trying to convert the subquery into a stand-alone select query), a way could be found. The syntax error faced by you is explained by the fact that in the original SQL, the ">" operator was testing the sequential count of duplicate records as given by the output of subquery (whether more than one). Now, with removal of subquery part as attempted by you, the WHERE clause has become mathematically flawed, missing an argument before the last operator. It looks like: WHERE a = b AND c <= d > 1; If you attempt to rectify this part by putting: WHERE a = b AND c <= d; you will overcome the syntax problem, but run into a new one, getting prompted for tblData. Moreover, as soon as you change the status from subquery to a stand alone select query, alias table T1 is no longer able to perform dynamically out of synch with tblData. It is this dynamic feature, available via subquery, that enables us to get sequential count. A.D.Tejpal --------------- -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jwcolby at colbyconsulting.com Tue May 29 06:51:59 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 07:51:59 -0400 Subject: [AccessD] Merge records In-Reply-To: Message-ID: <20070529115201.0F524BD46@smtp-auth.no-ip.com> A.D. When I removed the first * from the query the "SQL Check" stopped giving me errors. Apparently the syntax: "DELETE * FROM tblData" Is invalid in SQL Server, whereas: "DELETE FROM tblData" is valid. Now that I am beyond that stumbling block, let me test and get back to you. Thanks for all of your help. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Monday, May 28, 2007 3:03 PM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] Merge records John, Sample update query given below, will update fields F1 to F4 in table tblData. If any field is empty, it will get filled in by the first significant value occurring in any record for this field, for the given HashPerson. This query makes use of function Fn_MergedValue(), also given below. After updating, duplicate records can be removed by running the sample delete query as given below. For a large sized table with large number of fields, if serious slow down is experienced while running the update query, you could consider carrying out the update process for a few fields at a time Best wishes, A.D.Tejpal --------------- Query for updating fields F1 to F4 (If the field is empty, first available value) ====================================== UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = Fn_MergedValue("F4",[F4],[HashPerson]); ====================================== Query for deleting duplicate HashPersons ====================================== DELETE * FROM tblData WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; ====================================== Fn_MergedValue() - User defined function ====================================== Function Fn_MergedValue( _ ByVal FieldName As String, _ ByVal FieldValue As Variant, _ ByVal HashPersonValue _ As String) As String Dim Qst As String, Fdv As String Dim rst As DAO.Recordset Fdv = Nz(FieldValue, "") ' If field has significant value, retain it If Len(Fdv) > 0 Then GoTo ExitPoint End If ' If field is empty, fill in the first significant value ' occuring in any record for this field, for the ' given HashPerson Qst = "SELECT TOP 1 " & FieldName & _ " FROM tblData WHERE " & _ "HashPerson = '" & HashPersonValue & _ "' And Len(" & FieldName & ") > 0;" Set rst = DBEngine(0)(0).OpenRecordset(Qst) If rst.RecordCount > 0 Then Fdv = Nz(rst.Fields(0), "") End If ExitPoint: Fn_MergedValue = Fdv On Error Resume Next rst.Close Set rst = Nothing On Error GoTo 0 ' Note - For repetitive use, DBEngine(0)(0) ' is preferred over CurrentDb End Function ====================================== ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' ; dba-sqlserver at databaseadvisors.com Sent: Sunday, May 27, 2007 23:25 Subject: [AccessD] Merge records I have a situation where I might have several data records in a table (the big 700 field table) that are about the same person / address but have different data in some of the other fields. These records represent answers to surveys and so if a person answered three surveys, the person could have three records in the database. I need to merge the data from the three records into a single record, and eventually delete the other two. I have developed a field that represents the SHA1 hash of the address, zip5, zip4, lastname and firstname. I am running some tests to see whether this hash is unique across 50 million records (unique to that name / address) but I suspect that it will be. Once I determine that it is, then I can use that single field as a single "person identifier" field. So I need pointers how to "merge" the data from one record into a second record, only merging fields where there is legitimate data, and not overwriting fields where there is already data. John W. Colby Colby Consulting www.ColbyConsulting.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From hollisvj at pgdp.usec.com Tue May 29 08:41:39 2007 From: hollisvj at pgdp.usec.com (Hollis, Virginia) Date: Tue, 29 May 2007 08:41:39 -0500 Subject: [AccessD] Check Subform for NotNull Message-ID: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> I have a form and a subform where the users want the subform locked if a record has been entered. They do not want it to be changed once data has been entered. They can add new records, just not edit existing records. Then I have the problem - 'what if they make a typo' and discover it after the record has been entered and locked. They only want a supervisor to be able to go back, unlock the record on the subform and make the change. I tried the below code OnOpen of the Main form, but receive an error. If IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked Else End If Virginia From rockysmolin at bchacc.com Tue May 29 09:01:57 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Tue, 29 May 2007 07:01:57 -0700 Subject: [AccessD] Need to Break Informix Password In-Reply-To: <20070529110717.AE361BD46@smtp-auth.no-ip.com> Message-ID: <001001c7a1f9$ebb8bd70$0301a8c0@HAL9005> On the theory that once I get a hold of it I'll be able to break it? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, May 29, 2007 4:07 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Need to Break Informix Password 1 gigabyte is not bad to send over the internet - ftp. Zip it up and upload to an FTP site. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Tuesday, May 29, 2007 1:39 AM To: 'Access Developers discussion and problem solving' Cc: List Subject: [AccessD] Need to Break Informix Password Dear List(s): A prospect in Singapore wants to abandon their current manufacturing system and go to a new one. The problem is: 1) the current product has no data import or export functions 2) it's an orphan - the original company is out of business 3) the platform is Informix 4) it is password protected and they do not know the user name and password 5) they cannot connect to it using the Informix ODBC driver. Says they tried both ADO and DAO. (probably because they don't have the user name and password). 6) the database is 1GB so they can't send it easily. 7) they don't need the user name and password to run the program. Just if they want to open the back end directly. The program is working OK. But they're nervous and want to get away from this system and into something with support, I would guess. If I can get the data out I've got a shot at replacing this system with my own. Does anyone have any experience with Informix and know how to break in? MTIA Rocky P.S. They called me because in the mid 90s a company in Singapore took the name of my product E-Z-MRP and made one called E-Z-MRP II, which is what this guy is using. So he looked up E-Z-MRP on the web and found me. So I called him tonight in Singapore to get the details - find out if he had a bootleg copy of my system. He sent me some screen shots of the opening screens, and I saw right away it was not mine but the imposter. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 11:40 AM From fuller.artful at gmail.com Tue May 29 09:07:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 10:07:47 -0400 Subject: [AccessD] Merge records In-Reply-To: <20070529115201.0F524BD46@smtp-auth.no-ip.com> References: <20070529115201.0F524BD46@smtp-auth.no-ip.com> Message-ID: <29f585dd0705290707m6ef7f2dcwa622bb2e96d50ea1@mail.gmail.com> If you think about it, JC, DELETE * is kind of redundant. What else could you mean?. You can't delete all the values in a column, for example. You can DELETE WHERE but that is still all the columns. On 5/29/07, jwcolby wrote: > > A.D. > > When I removed the first * from the query the "SQL Check" stopped giving > me > errors. Apparently the syntax: > > "DELETE * FROM tblData" > > Is invalid in SQL Server, whereas: > > "DELETE FROM tblData" > > is valid. > > Now that I am beyond that stumbling block, let me test and get back to > you. > > Thanks for all of your help. > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL > Sent: Monday, May 28, 2007 3:03 PM > To: Access Developers discussion and problem solving > Cc: ADT > Subject: Re: [AccessD] Merge records > > John, > > Sample update query given below, will update fields F1 to F4 in table > tblData. If any field is empty, it will get filled in by the first > significant value occurring in any record for this field, for the given > HashPerson. This query makes use of function Fn_MergedValue(), also given > below. > > After updating, duplicate records can be removed by running the sample > delete query as given below. > > For a large sized table with large number of fields, if serious slow > down is experienced while running the update query, you could consider > carrying out the update process for a few fields at a time > > > Best wishes, > A.D.Tejpal > --------------- > > Query for updating fields F1 to F4 > (If the field is empty, first available value) > ====================================== > UPDATE tblData SET tblData.F1 = Fn_MergedValue("F1",[F1],[HashPerson]), > tblData.F2 = Fn_MergedValue("F2",[F2],[HashPerson]), tblData.F3 = > Fn_MergedValue("F3",[F3],[HashPerson]), tblData.F4 = > Fn_MergedValue("F4",[F4],[HashPerson]); > ====================================== > > Query for deleting duplicate HashPersons > ====================================== > DELETE * FROM tblData > WHERE (SELECT Count(*) FROM tblData As T1 WHERE T1.HashPerson = > tblData.HashPerson AND T1.PKID <= tblData.PKID) > 1; > ====================================== > > Fn_MergedValue() - User defined function > ====================================== > Function Fn_MergedValue( _ > ByVal FieldName As String, _ > ByVal FieldValue As Variant, _ > ByVal HashPersonValue _ > As String) As String > Dim Qst As String, Fdv As String > Dim rst As DAO.Recordset > > Fdv = Nz(FieldValue, "") > ' If field has significant value, retain it > If Len(Fdv) > 0 Then > GoTo ExitPoint > End If > > ' If field is empty, fill in the first significant value > ' occuring in any record for this field, for the > ' given HashPerson > Qst = "SELECT TOP 1 " & FieldName & _ > " FROM tblData WHERE " & _ > "HashPerson = '" & HashPersonValue & _ > "' And Len(" & FieldName & ") > 0;" > Set rst = DBEngine(0)(0).OpenRecordset(Qst) > > If rst.RecordCount > 0 Then > Fdv = Nz(rst.Fields(0), "") > End If > > ExitPoint: > > Fn_MergedValue = Fdv > > On Error Resume Next > rst.Close > Set rst = Nothing > On Error GoTo 0 > > ' Note - For repetitive use, DBEngine(0)(0) > ' is preferred over CurrentDb > End Function > ====================================== > > ----- Original Message ----- > From: jwcolby > To: 'Access Developers discussion and problem solving' ; > dba-sqlserver at databaseadvisors.com > Sent: Sunday, May 27, 2007 23:25 > Subject: [AccessD] Merge records > > > I have a situation where I might have several data records in a table (the > big 700 field table) that are about the same person / address but have > different data in some of the other fields. These records represent > answers to surveys and so if a person answered three surveys, the person > could have three records in the database. I need to merge the data from > the > three records into a single record, and eventually delete the other two. > > I have developed a field that represents the SHA1 hash of the address, > zip5, zip4, lastname and firstname. I am running some tests to see > whether > this hash is unique across 50 million records (unique to that name / > address) but I suspect that it will be. Once I determine that it is, then > I > can use that single field as a single "person identifier" field. > > So I need pointers how to "merge" the data from one record into a second > record, only merging fields where there is legitimate data, and not > overwriting fields where there is already data. > > John W. Colby > Colby Consulting > www.ColbyConsulting.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 colbyconsulting.com Tue May 29 09:33:50 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 10:33:50 -0400 Subject: [AccessD] deduplication In-Reply-To: Message-ID: <20070529143352.6352AC006@smtp-auth.no-ip.com> A.D. Your SQL worked as advertised once I got past the "SELECT *" issue. The following is the actual code that I ran to do the Family level deduping: DELETE FROM tblData WHERE ( SELECT Count(*) FROM tblData AS T1 WHERE T1.HashFamily = tblData.HashFamily AND T1.PKID <= tblData.PKID ) > 1; I created a query to pull just the dupes (at the person level) into a separate table, then ran the code against that table, deleting dupes against the HashPerson field. When finished there were no dupes in HashPerson, as would be expected. BTW ~360K person level dupes were deleted. I then ran a query displaying all of the records with dupes in HashFamily. There are still 11.7K dupe COUNTS > 1 in Hash Family which is expected, these being different first names, same last names. I then modified the query to use HashFamily field to do the deletes and 12,416 records were deleted. This means that there were several cases where there were 3 or more people with the same last name different first name in the result set. Once the delete completed there are no dupes in HashFamily. That is the desired result for this order, deduped to the family level. I do have to perform one last check, which is to ensure that the delete query did not simply remove ALL members with a given person or family hash. I believe that I have accomplished this test by isolating all of the dupes into a separate table and performing the dedupe against just the duplicate result set. If there are records left, then the delete function did not delete all the dupes, but left one record for each hash value for the chosen hash field. Since the table still contains 311K records (from an initial 660K duplicate HashPerson record set) I believe that the method works correctly. Thanks to you I now have a generalized method that I can build into a stored procedure where I can feed in the table name, HashField name, PKID name and cause a dupe delete to happen to that duplication level. Once again A.D., your assistance (and patience) is most appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.TEJPAL Sent: Tuesday, May 29, 2007 1:35 AM To: Access Developers discussion and problem solving Cc: ADT Subject: Re: [AccessD] deduplication John, PKID does not have to be sequential. All that is required is that it should be unique. For all duplicate records pertaining to a given HashPerson, the subquery generates calculated sequential numbers, enabling deletion of all duplicates except the first one. The delete query using count subquery, as suggested by me, was duly tested and found to perform satisfactorily on Access 2003. The other alternative, using a subquery with NOT IN clause, as suggested by Gustav in his second post, is also found to perform smoothly. Subquery with NOT IN clause is sometimes slow. However, in this particular case, it might even prove faster than Count(*) subquery as the cross-check involved is essentially against a single record. Either of the two alternative styles of delete query should have given the desired results at your end. If you are still stuck, and are in a position to send a zipped copy of your table tblData with a few records (say 50 to 100 records), it could be tested at my end. While doing so, the following tasks would get performed: (a) For each HashPerson, merge values across different records, so as to fill in blanks if any. This refers to your other thread "Merge records". (b) After filling up blanks as per (a) above, delete all duplicates so that there is only one record per person. A.D.Tejpal (adtp at airtelbroadband.in) From jwcolby at colbyconsulting.com Tue May 29 09:42:06 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 10:42:06 -0400 Subject: [AccessD] Merge records In-Reply-To: <29f585dd0705290707m6ef7f2dcwa622bb2e96d50ea1@mail.gmail.com> Message-ID: <20070529144208.8243CC02B@smtp-auth.no-ip.com> >If you think about it, JC, DELETE * is kind of redundant. Yep. Unfortunately we get used to using whatever SQL syntax works in the environment that we work, day to day, which of course for me has been Access. Also unfortunately, each vendor adds extensions and "stuff" to the SQL language which is non-standard. This is a case apparently where the * is a non-standard extension added to the ACCESS environment for reasons only known to the vendor. If you use the QBE grid to build a delete query in Access, it inserts that * and you get used to seeing it, so it becomes "the norm". Once I scripted the table to a query in SQL Server the lack of the * popped right out and I deleted it and voila. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 29, 2007 10:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Merge records If you think about it, JC, DELETE * is kind of redundant. What else could you mean?. You can't delete all the values in a column, for example. You can DELETE WHERE but that is still all the columns. From fuller.artful at gmail.com Tue May 29 10:19:03 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 11:19:03 -0400 Subject: [AccessD] Dlookup Replacement Message-ID: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> I remember reading about a replacement for Dlookup() that allowed multiple lookups to be done in one call. I've searched the archives but not found what I wanted. Does anyone know of it, and where I can get it? TIA, Arthur From galeper at gmail.com Tue May 29 11:35:43 2007 From: galeper at gmail.com (Gale Perez) Date: Tue, 29 May 2007 09:35:43 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <000c01c79f2c$2b019590$0200a8c0@danwaters> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> Message-ID: <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> Dan, Steve, and A.D. (hope I didn't leave anyone out), Wow ... as always, I am amazed at how helpful this group is!! Thank you all so much. I'm very grateful for your thoughts and am looking at your suggestions right now. Gale On 5/25/07, Dan Waters wrote: > > Hi Gale, > > In addition to checking for Null, you also must check for an empty string. > > If IsNull(ctl) or ctl = "" Then > > If you want, you can place a value in a control's Tag property, such as R > or > Required to designate that field as required. But if every control that > has > a caption is actually required, then I think your method is appropriate. > > Also, I would recommend going through this loop before an error occurs, if > you can. > > HTH, > Dan > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > Sent: Friday, May 25, 2007 6:24 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > Hi! > > I have a form with several fields whose "Required" property is Yes, and > I want to trap Error 3314 (required field) in the form_error. I would > like > the code to set focus on the first field that is required and null and > display a custom message. The problem is that it isn't seeing the control > as Null (so it ignores If IsNull(ctl), and just displays the customary > message). I would greatly appreciate any advice. > > I am also interested in finding out if you can determine a control's > table-level properties (e.g., required, and datatype) while in the form, > instead of using an asterisk and looking at the label caption to do it. > Here is the code: > > Dim ctl as Control > Dim strCaption as String > ...... > If DataErr = 3314 Then > For Each ctl In Me.Controls > ' get the caption for the field label > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > If Left(strCaption, 1) = "*" Then 'required field > If IsNull(ctl) Then 'it is ignoring this, not seeing the > field as null > ctl.SetFocus > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > required field." > Response = acDataErrContinue > Exit sub > End If > End If > Next > End if > > Thank you so much for any assistance, > Gale > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 pharold at proftesting.com Tue May 29 12:05:35 2007 From: pharold at proftesting.com (Perry L Harold) Date: Tue, 29 May 2007 13:05:35 -0400 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> References: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D157@EXCHANGE.ptiorl.local> frm.InventorySubform in the locked statement s/b frm_InventorySubform like the isnull statement? Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Hollis, Virginia Sent: Tuesday, May 29, 2007 9:42 AM To: accessD at databaseadvisors.com Subject: [AccessD] Check Subform for NotNull I have a form and a subform where the users want the subform locked if a record has been entered. They do not want it to be changed once data has been entered. They can add new records, just not edit existing records. Then I have the problem - 'what if they make a typo' and discover it after the record has been entered and locked. They only want a supervisor to be able to go back, unlock the record on the subform and make the change. I tried the below code OnOpen of the Main form, but receive an error. If IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked Else End If Virginia -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kost36 at otenet.gr Tue May 29 12:38:38 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Tue, 29 May 2007 20:38:38 +0300 Subject: [AccessD] Tab Control Locking In-Reply-To: <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25> <6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> Message-ID: <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> Hi Jim.. sorry for thedelay to your quickly response but it happened because of a big crash in my PC (I have already bought a new one...) hmm that's what I need for... but I don't know how to do it.. many many thank's /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 6:01 PM Subject: Re: [AccessD] Tab Control Locking > > You could also hide the controls on the tab until the password is correct. > Hide the controls by default then when the password is correct unhide > them. > > Jim > jhewson at karta.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Saturday, May 26, 2007 1:41 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Tab Control Locking > > Hi Kostas > I think you'll need to lock all of the controls within a tab rather than > the > tab itself. A simple way to do this is to drop a subform on the tab and > put > all of your controls in that. Then you need only set the subform locked > and > unlocked. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Kostas Konstantinidis >> Sent: 25 May 2007 10:22 >> To: Access Developers discussion and problem solving >> Subject: [AccessD] Tab Control Locking >> >> >> Hi group, >> is that possible to lock a tab control form asking when cliking for a >> password? >> >> many 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 > > From adtp at hotmail.com Tue May 29 12:45:14 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Tue, 29 May 2007 23:15:14 +0530 Subject: [AccessD] deduplication References: <20070529143352.6352AC006@smtp-auth.no-ip.com> Message-ID: You are most welcome John! I am glad that you were successful in evolving a solution on the desired lines. Best wishes, A.D.Tejpal --------------- ----- Original Message ----- From: jwcolby To: 'Access Developers discussion and problem solving' Sent: Tuesday, May 29, 2007 20:03 Subject: Re: [AccessD] deduplication A.D. Your SQL worked as advertised once I got past the "SELECT *" issue. The following is the actual code that I ran to do the Family level deduping: DELETE FROM tblData WHERE (SELECT Count(*) FROM tblData AS T1 WHERE T1.HashFamily = tblData.HashFamily AND T1.PKID <= tblData.PKID) > 1; I created a query to pull just the dupes (at the person level) into a separate table, then ran the code against that table, deleting dupes against the HashPerson field. When finished there were no dupes in HashPerson, as would be expected. BTW ~360K person level dupes were deleted. I then ran a query displaying all of the records with dupes in HashFamily. There are still 11.7K dupe COUNTS > 1 in Hash Family which is expected, these being different first names, same last names. I then modified the query to use HashFamily field to do the deletes and 12,416 records were deleted. This means that there were several cases where there were 3 or more people with the same last name different first name in the result set. Once the delete completed there are no dupes in HashFamily. That is the desired result for this order, deduped to the family level. I do have to perform one last check, which is to ensure that the delete query did not simply remove ALL members with a given person or family hash. I believe that I have accomplished this test by isolating all of the dupes into a separate table and performing the dedupe against just the duplicate result set. If there are records left, then the delete function did not delete all the dupes, but left one record for each hash value for the chosen hash field. Since the table still contains 311K records (from an initial 660K duplicate HashPerson record set) I believe that the method works correctly. Thanks to you I now have a generalized method that I can build into a stored procedure where I can feed in the table name, HashField name, PKID name and cause a dupe delete to happen to that duplication level. Once again A.D., your assistance (and patience) is most appreciated. John W. Colby Colby Consulting www.ColbyConsulting.com From jerbach.access at gmail.com Tue May 29 13:04:07 2007 From: jerbach.access at gmail.com (Janet Erach) Date: Tue, 29 May 2007 13:04:07 -0500 Subject: [AccessD] How to repair corrupt database Message-ID: We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report ? call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database ? access crashes. 3) Running Jetcomp ? error compacting database 4) Create an empty database ? import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app ? the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks ? Janet Erbach From erbachs at gmail.com Tue May 29 13:17:11 2007 From: erbachs at gmail.com (Steve Erbach) Date: Tue, 29 May 2007 13:17:11 -0500 Subject: [AccessD] Dlookup Replacement In-Reply-To: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> References: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> Message-ID: <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> Arthur, I still use a set of DLookup(), DCount(), etc., replacements that I think I found as a result of something someone here said years ago. These replacements are called TLookup(), TCount(), etc., and were created by T. Best back in '96. With later modifications included, they're available at: http://easyweb.easynet.co.uk/~trevor/downloads/baslookup.zip Allen Browne's eLookup(): http://allenbrowne.com/ser-42.html Looks like a dba-SQLServer message dealt with this general topic, too: http://databaseadvisors.com/pipermail/dba-sqlserver/2003-March/000268.html Will those do? Steve Erbach Neenah, WI http://TheTownCrank.blogspot.com On 5/29/07, Arthur Fuller wrote: > I remember reading about a replacement for Dlookup() that allowed multiple > lookups to be done in one call. I've searched the archives but not found > what I wanted. Does anyone know of it, and where I can get it? > > TIA, > Arthur From askolits at ot.com Tue May 29 13:25:21 2007 From: askolits at ot.com (John Skolits) Date: Tue, 29 May 2007 14:25:21 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <00d601c7a21e$b7a87e60$0f01a8c0@officexp> In the past, I would import into a new database only those items I knew were good. In this case, import everything except the reports. Then see if you get compile errors. If it compiles correctly, make a backup and then start importing only those reports that you know are good. I would always save a backup copy of each of the databases that compile correctly before importing additional objects. Keep importing more reports until eventually, you'll try to import a bad object and the database will be corrupt. Then you'll know which report(s) is causing the problem. That's the only way I have fixed the problem you're having. John Skolits -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erach Sent: Tuesday, May 29, 2007 2:04 PM To: accessD at databaseadvisors.com Subject: [AccessD] How to repair corrupt database We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report - call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database - access crashes. 3) Running Jetcomp - error compacting database 4) Create an empty database - import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app - the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks - Janet Erbach -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From ssharkins at setel.com Tue May 29 13:31:42 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 14:31:42 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> This is going to sound really odd, but I have seen it work. Open it in Excel -- DO NOT save your mdb file as a Excel worksheet -- you'll totally destroy it. Just open it. Then, close it. I have absolutely no idea why it sometimes works, I just not that it does. Word of warning, it probably won't work, and you might want to make a copy before you do this. I've never seen opening an mdb in Excel hurt anything -- only if you save it as an xls file -- but I'd be over-cautious. You mentioned that in the new database, where you imported all the objects, that it's still complaining about missing variables, etc. Does ReportX's module have any code in it? Since you can't delete the module, try erasing all the code, then repair. Just a thought. Susan H. We use a third-party database in Access 2003 in to manage our customer and sales data. This morning I was importing a report from a "storage" database, and accidentally selected an extra report that I did not want. When I noticed this extra report - call it reportX - was being imported, I hit 'cancel'. And now my database is corrupt. ReportX does NOT show up on the reports tab. It does, however, show up in the modules project window, and I can even view the code attached to it; I cannot delete it, though. If I try to 'trick' the app by creating a dummy 'ReportX' I get the message that 'ReportX' already exists. This is what I've tried so far: 1) Decompiled the app several times, then tried to recompile. I get repeated errors that 'ReportX you entered in either the property sheet or macro is misspelled or refers to a report that doesn't exist.' After 4 or five of those, I get 'Compile error: Module not found'. 2) Compact/repair the database - access crashes. 3) Running Jetcomp - error compacting database 4) Create an empty database - import everything. Although the import still complains about missing 'ReportX', it seems like I'm able to successfully import everything else. But I can't run the app because I get weird compile errors like 'variable not defined' or 'user defined type not defined'. This app is so dang convoluted to begin with that I don't even know where to look for the basis of these errors. It may even have to do with the fact that I have not properly registered this version of the app - the first time you run the installed app, it's supposed to detect your registration status and prompt you from there; I don't know if there is a 'manual' registration option. Is there anything else I can do to save the database? ANYTHING?? Thanks - Janet Erbach -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From BarbaraRyan at cox.net Tue May 29 13:33:42 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Tue, 29 May 2007 14:33:42 -0400 Subject: [AccessD] Access Security Message-ID: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan From erbachs at gmail.com Tue May 29 13:44:37 2007 From: erbachs at gmail.com (Steve Erbach) Date: Tue, 29 May 2007 13:44:37 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <39cb22f30705291144j22d65caeyc1b221c3edf5da1d@mail.gmail.com> Mrs. E., I looked through some older AccessD messages to find something regarding exporting Access objects to text. Here's a possibility: http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='EATBloatV2.mdb' Watch the wrap. There are single quotes around the .mdb file name. Mr. E. On 5/29/07, Janet Erach wrote: > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report ? call it reportX - was being imported, I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database ? access crashes. > > 3) Running Jetcomp ? error compacting database > > 4) Create an empty database ? import everything. Although the import still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird compile > errors like 'variable not defined' or 'user defined type not defined'. This > app is so dang convoluted to begin with that I don't even know where to look > for the basis of these errors. It may even have to do with the fact that I > have not properly registered this version of the app ? the first time you > run the installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks ? > > Janet Erbach From fuller.artful at gmail.com Tue May 29 13:49:14 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 14:49:14 -0400 Subject: [AccessD] Dlookup Replacement In-Reply-To: <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> References: <29f585dd0705290819k79cbf547tcf82cd552f454414@mail.gmail.com> <39cb22f30705291117p3fba7ac8h1e1972e93ea5dc7d@mail.gmail.com> Message-ID: <29f585dd0705291149l6b0d20d4i2f07f59f4dc08671@mail.gmail.com> Thanks, Steve. On 5/29/07, Steve Erbach wrote: > > Arthur, > > I still use a set of DLookup(), DCount(), etc., replacements that I > think I found as a result of something someone here said years ago. > These replacements are called TLookup(), TCount(), etc., and were > created by T. Best back in '96. With later modifications included, > they're available at: > > http://easyweb.easynet.co.uk/~trevor/downloads/baslookup.zip > > Allen Browne's eLookup(): http://allenbrowne.com/ser-42.html > > Looks like a dba-SQLServer message dealt with this general topic, too: > > http://databaseadvisors.com/pipermail/dba-sqlserver/2003-March/000268.html > > Will those do? > > Steve Erbach > Neenah, WI > http://TheTownCrank.blogspot.com > From fuller.artful at gmail.com Tue May 29 13:53:08 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 14:53:08 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: Message-ID: <29f585dd0705291153j27979b63p3f0e0196151461ee@mail.gmail.com> I would create a new database and import what you can, a lttle at a time. First grab the tables. Then grab the forms. Then the queries. Then the modules, all but the bad report. Finally grab the reports but don't select all; select them individually. That may fool Access. Good luck. Arthur On 5/29/07, Janet Erach wrote: > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report ? call it reportX - was being imported, > I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to > it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database ? access crashes. > > 3) Running Jetcomp ? error compacting database > > 4) Create an empty database ? import everything. Although the import > still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird > compile > errors like 'variable not defined' or 'user defined type not > defined'. This > app is so dang convoluted to begin with that I don't even know where to > look > for the basis of these errors. It may even have to do with the fact that > I > have not properly registered this version of the app ? the first time you > run the installed app, it's supposed to detect your registration status > and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks ? > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From fhtapia at gmail.com Tue May 29 13:57:55 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 29 May 2007 11:57:55 -0700 Subject: [AccessD] Cannot import from Excel Message-ID: Hi group, My co-worker received a new machine from our wonderful helpdesk... The problem is that he cannot import from excel on his Access 2003 on his desktop. For some reason, when you right click in the access (2003) window and you click on import and you get the dialog box the dropdown on the box does not list Excel. He has Office 2003 installed on his desktop, I suspect it may have something to do with him previously having Office 2000 installed and then they uninstalled it. I ran the Office detect and repair, but it did not change this at all. Thanks in advance -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From jwcolby at colbyconsulting.com Tue May 29 14:00:16 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Tue, 29 May 2007 15:00:16 -0400 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <20070529190018.06916C0F1@smtp-auth.no-ip.com> Barb, One solution springs to mind. Make the tables invisible. Create one query for each table, SELECT * FROM MyTblName. Make each of these queries a snapshot. That prevents updating the data in the table, but the data can be read as normal. Having users creating adhoc forms is a recipe for disaster IMNSHO. AdHoc queries and reports are another matter. They can be based on the read only queries and voila. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Tuesday, May 29, 2007 2:34 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.access at gmail.com Tue May 29 14:12:58 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Tue, 29 May 2007 14:12:58 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> Message-ID: Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy > it. Just open it. Then, close it. I have absolutely no idea why it > sometimes > works, I just not that it does. Word of warning, it probably won't work, > and > you might want to make a copy before you do this. I've never seen opening > an > mdb in Excel hurt anything -- only if you save it as an xls file -- but > I'd > be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, > that it's still complaining about missing variables, etc. Does ReportX's > module have any code in it? Since you can't delete the module, try erasing > all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being imported, > I > hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show up in > the modules project window, and I can even view the code attached to > it; I > cannot delete it, though. If I try to 'trick' the app by creating a dummy > 'ReportX' I get the message that 'ReportX' already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet or > macro is misspelled or refers to a report that doesn't exist.' After 4 or > five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still > complains about missing 'ReportX', it seems like I'm able to successfully > import everything else. But I can't run the app because I get weird > compile > errors like 'variable not defined' or 'user defined type not > defined'. This > app is so dang convoluted to begin with that I don't even know where to > look > for the basis of these errors. It may even have to do with the fact that > I > have not properly registered this version of the app - the first time you > run the installed app, it's supposed to detect your registration status > and > prompt you from there; I don't know if there is a 'manual' registration > option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From andy at minstersystems.co.uk Tue May 29 14:27:01 2007 From: andy at minstersystems.co.uk (Andy Lacey) Date: Tue, 29 May 2007 20:27:01 +0100 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <007d01c7a227$55112640$c67fd355@minster33c3r25> Hi Virginia How about this? Set form to AllowAdditions but not AllowEdits. Then put a button on the main form, labelled 'Unlock' or something. The code behind button would be: Forms!frm_InventoryMain.frm_InventorySubform.Form.AllowEdits=True then somewhere like the Form's AfterUpdate for the subform you can Forms!frm_InventoryMain.frm_InventorySubform.Form.AllowEdits=False to stop further editing. But you'll have to think about what's to stop anyone clicking the button. Does everyone signon to the system? Could you only make the button visible if someone's security allows it? -- Andy Lacey http://www.minstersystems.co.uk > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Hollis, Virginia > Sent: 29 May 2007 14:42 > To: accessD at databaseadvisors.com > Subject: [AccessD] Check Subform for NotNull > > > I have a form and a subform where the users want the subform > locked if a record has been entered. They do not want it to > be changed once data has been entered. They can add new > records, just not edit existing records. > > > > Then I have the problem - 'what if they make a typo' and > discover it after the record has been entered and locked. > They only want a supervisor to be able to go back, unlock the > record on the subform and make the change. > > > > I tried the below code OnOpen of the Main form, but receive an error. > > > > If > IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.Invento > ryID) Then > > Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked > > Else > > > > End If > > > > Virginia > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > From dwaters at usinternet.com Tue May 29 14:43:46 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 29 May 2007 14:43:46 -0500 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <001301c7a229$ac4880a0$0200a8c0@danwaters> Hi Barb, This assumes you are trying to protect the tables, not the data. 1) Take a look at Gary Robinson's web site: http://www.vb123.com/toolshed/04_docs/accessdb_op_security.htm I do this at two customer sites and it works well. 2) Perhaps you could upsize the BE to SQL Server 2005 Express. It's free. You can relink the FE to the tables in the BE, very similar to Access Table links. Now regular users can't open the BE to modify tables. Good Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Barbara Ryan Sent: Tuesday, May 29, 2007 1:34 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From DWUTKA at Marlow.com Tue May 29 14:53:34 2007 From: DWUTKA at Marlow.com (Drew Wutka) Date: Tue, 29 May 2007 14:53:34 -0500 Subject: [AccessD] Access Security References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: The best method would be to use Access User Level security. I may seem complex at first, but it is very functional. Users should have the access they need on the tables, and that's it. In theory, there is no real way to prevent a user that has access to the data from opening the table. No matter what you do to the front or backend, if they have access, they can link to the BE, and open the tables directly. With User level security, they would be limited to what you have given them (read, update, insert, delete). Drew ________________________________ From: accessd-bounces at databaseadvisors.com on behalf of Barbara Ryan Sent: Tue 5/29/2007 1:33 PM To: Access List Subject: [AccessD] Access Security What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. Thanks, Barb Ryan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI BusinessSensitve material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. From martyconnelly at shaw.ca Tue May 29 15:51:09 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 29 May 2007 13:51:09 -0700 Subject: [AccessD] Access Security In-Reply-To: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> Message-ID: <465C923D.5050101@shaw.ca> Here is another method called vPPC ? Virtual Password Protected Connection It has been developed for Access 2007 accdb's, where user security methods have been dropped, to rely just on a stronger password method. There is an pdf article describing it and sample mdb's for Access 2003 and 2007 I haven't field tested it though. It uses a mid-tier accdb or mdb that only contains linked tables and queries with password protection. It is from a UK firm Premier Data Technologies. http://www.pdtltd.co.uk/pdtl/technicalresources.htm Barbara Ryan wrote: >What is the best method to lock users out of the BE tables and (linked) FE tables in an existing Access 2003 application? The client wants users to be able to create ad hoc queries, forms and reports in the FE, so using an MDE is not an option. (They do not use the separate "ad hoc" database that I provided them :-( Only "super" users should have the capability to access data tables directly > >I found some 3-year-old security info in the archives, but was wondering if opinions have changed since then. > >Thanks, >Barb Ryan > > > -- Marty Connelly Victoria, B.C. Canada From galeper at gmail.com Tue May 29 15:59:44 2007 From: galeper at gmail.com (Gale Perez) Date: Tue, 29 May 2007 13:59:44 -0700 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> Message-ID: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Hi again! I tried Steve's method as I was hoping for a quick fix. It works great, although I had a few things I wanted to do that I may not be able to with this method. One thing is that I'd like to set focus on the required field after the message, and to drop down if it's a combo box. I'd also like to replace the standard Access title in the message box with my own, and I don't know if that's possible using this method without writing a function containing the validation rule & text and the components of the message box. The third thing is a form-subform problem: I'm using a subform and although the Validation Rule works beautifully on the main form and subform once they are dirty, it allows you to move to a new main form record without filling out any of the subform fields (I guess because it only invokes the rule once it sees the record as dirty?) I tried editing one of the subform fields (a date field which is automatically entered anyway) in the main form's On Dirty and Before Update events, but it started processing the subform's Validation Rules before all of the main form's field were filled in first case and immediately gave a required field message when I move from form to subform in the second case. Have you run against this problem as well? Any thoughts woud be very appreciated. It is great to see so many ways of tackling this issue. I'm also checking out Dan's and A.D.'s suggestions. Thank you, Gale On 5/29/07, Gale Perez wrote: > > Dan, Steve, and A.D. (hope I didn't leave anyone out), > > Wow ... as always, I am amazed at how helpful this group is!! Thank you > all so much. I'm very grateful for your thoughts and am looking at your > suggestions right now. > > Gale > > > On 5/25/07, Dan Waters wrote: > > > > Hi Gale, > > > > In addition to checking for Null, you also must check for an empty > > string. > > > > If IsNull(ctl) or ctl = "" Then > > > > If you want, you can place a value in a control's Tag property, such as > > R or > > Required to designate that field as required. But if every control that > > has > > a caption is actually required, then I think your method is appropriate. > > > > > > Also, I would recommend going through this loop before an error occurs, > > if > > you can. > > > > HTH, > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > > Sent: Friday, May 25, 2007 6:24 PM > > To: accessd at databaseadvisors.com > > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > > > Hi! > > > > I have a form with several fields whose "Required" property is Yes, and > > I want to trap Error 3314 (required field) in the form_error. I would > > like > > the code to set focus on the first field that is required and null and > > display a custom message. The problem is that it isn't seeing the > > control > > as Null (so it ignores If IsNull(ctl), and just displays the customary > > message). I would greatly appreciate any advice. > > > > I am also interested in finding out if you can determine a control's > > table-level properties (e.g., required, and datatype) while in the form, > > instead of using an asterisk and looking at the label caption to do it. > > Here is the code: > > > > Dim ctl as Control > > Dim strCaption as String > > ...... > > If DataErr = 3314 Then > > For Each ctl In Me.Controls > > ' get the caption for the field label > > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > > If Left(strCaption, 1) = "*" Then 'required field > > If IsNull(ctl) Then 'it is ignoring this, not seeing the > > field as null > > ctl.SetFocus > > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > > required field." > > Response = acDataErrContinue > > Exit sub > > End If > > End If > > Next > > End if > > > > Thank you so much for any assistance, > > Gale > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/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 miscellany at mvps.org Tue May 29 16:07:25 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 30 May 2007 09:07:25 +1200 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com> <000c01c79f2c$2b019590$0200a8c0@danwaters> <5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Message-ID: <465C960D.3050707@mvps.org> Gale, Gale Perez wrote: > ... One thing is that I'd like to set focus on the required field > after the message, and to drop down if it's a combo box. I'd also like to > replace the standard Access title in the message box with my own... No, sorry, I don't believe you can do this using Validation Rule approach. As you said, "quick fix", which comes with a price. Regards Steve From BarbaraRyan at cox.net Tue May 29 16:18:40 2007 From: BarbaraRyan at cox.net (Barbara Ryan) Date: Tue, 29 May 2007 17:18:40 -0400 Subject: [AccessD] Access Security References: <003501c7a21f$e2366510$0a00a8c0@PCRURI35> <465C923D.5050101@shaw.ca> Message-ID: <009d01c7a236$edd08d30$0a00a8c0@PCRURI35> Thanks for all the suggestions --- I will check them out...........Barb ----- Original Message ----- From: "MartyConnelly" To: "Access Developers discussion and problem solving" Sent: Tuesday, May 29, 2007 4:51 PM Subject: Re: [AccessD] Access Security Here is another method called vPPC ? Virtual Password Protected Connection It has been developed for Access 2007 accdb's, where user security methods have been dropped, to rely just on a stronger password method. There is an pdf article describing it and sample mdb's for Access 2003 and 2007 I haven't field tested it though. It uses a mid-tier accdb or mdb that only contains linked tables and queries with password protection. It is from a UK firm Premier Data Technologies. http://www.pdtltd.co.uk/pdtl/technicalresources.htm Barbara Ryan wrote: >What is the best method to lock users out of the BE tables and (linked) FE >tables in an existing Access 2003 application? The client wants users to >be able to create ad hoc queries, forms and reports in the FE, so using an >MDE is not an option. (They do not use the separate "ad hoc" database that >I provided them :-( Only "super" users should have the capability to >access data tables directly > >I found some 3-year-old security info in the archives, but was wondering if >opinions have changed since then. > >Thanks, >Barb Ryan > > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From miscellany at mvps.org Tue May 29 16:18:03 2007 From: miscellany at mvps.org (Steve Schapel) Date: Wed, 30 May 2007 09:18:03 +1200 Subject: [AccessD] Check Subform for NotNull In-Reply-To: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> References: <703BDA18A87DFA4CB265A86F42E4178D024920F4@c2k3exchange.pgdp.corp.usec.com> Message-ID: <465C988B.2020305@mvps.org> Virginia, Here is yet another idea to play with... Don't 'lock' the subform. Just require the entry of a password for editing the existing record. On the Before Update event of the subform, something like this... If Not Me.NewRecord Then If InputBox("Enter password for edit") = "xyz" Then ' proceed Else Cancel = True Me.Undo Msgbox "Incorrect password" End If End If Regards Steve Hollis, Virginia wrote: > I have a form and a subform where the users want the subform locked if a > record has been entered. They do not want it to be changed once data has > been entered. They can add new records, just not edit existing records. > > > > Then I have the problem - 'what if they make a typo' and discover it > after the record has been entered and locked. They only want a > supervisor to be able to go back, unlock the record on the subform and > make the change. > > > > I tried the below code OnOpen of the Main form, but receive an error. > > > > If > IsNotNull(Forms!frm_InventoryMain.frm_InventorySubform.InventoryID) Then > > Forms!frm_InventoryMain.frm.InventorySubform.Form = Locked > > Else > > > > End If > > > > Virginia > From ssharkins at setel.com Tue May 29 16:54:21 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 17:54:21 -0400 Subject: [AccessD] Cannot import from Excel In-Reply-To: References: Message-ID: <002401c7a23b$ec06fe80$2534fad1@SusanOne> You're sure that he actually has Excel installed too? Susan H. Hi group, My co-worker received a new machine from our wonderful helpdesk... The problem is that he cannot import from excel on his Access 2003 on his desktop. For some reason, when you right click in the access (2003) window and you click on import and you get the dialog box the dropdown on the box does not list Excel. He has Office 2003 installed on his desktop, I suspect it may have something to do with him previously having Office 2000 installed and then they uninstalled it. I ran the Office detect and repair, but it did not change this at all. From ssharkins at setel.com Tue May 29 16:54:21 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 17:54:21 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> Message-ID: <002501c7a23b$edc4b410$2534fad1@SusanOne> >From Excel's File Open command select the mdb file you're having trouble with. It will open it. Just do NOT save it. After Excel opens the mdb file -- the entire file, not a selected table or anything like that -- close Excel. Then, try opening the mdb in Access and see what happens. I read the other responses -- about importing all the reports -- you're not manually importing ReportX into the new database are you? I thought you said you weren't, but that something drags along the report's module anyway -- is this the case? I've never seen it happen, but nothing surprises me anymore with Access. ;) Oh yeah -- on a recent blog entry I saw several people mention OpenOffice for clearing up Word corruption. I don't even know what OpenOffice is, so maybe someone here knows and can tell us it it works for Access too? That's a shot in the dark though -- I would imagine if it did, we'd have already heard about it. :) Susan H. Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy it. Just open it. Then, close it. I have absolutely no idea > why it sometimes works, I just not that it does. Word of warning, it > probably won't work, and you might want to make a copy before you do > this. I've never seen opening an mdb in Excel hurt anything -- only if > you save it as an xls file -- but I'd be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, that it's still complaining about missing variables, etc. > Does ReportX's module have any code in it? Since you can't delete the > module, try erasing all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being > imported, I hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show > up in the modules project window, and I can even view the code > attached to it; I cannot delete it, though. If I try to 'trick' the > app by creating a dummy 'ReportX' I get the message that 'ReportX' > already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet > or macro is misspelled or refers to a report that doesn't exist.' > After 4 or five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still complains about missing 'ReportX', it seems like I'm able to > successfully import everything else. But I can't run the app because > I get weird compile errors like 'variable not defined' or 'user > defined type not defined'. This app is so dang convoluted to begin > with that I don't even know where to look for the basis of these > errors. It may even have to do with the fact that I have not properly > registered this version of the app - the first time you run the > installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' > registration option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 4:46 PM From dwaters at usinternet.com Tue May 29 17:13:32 2007 From: dwaters at usinternet.com (Dan Waters) Date: Tue, 29 May 2007 17:13:32 -0500 Subject: [AccessD] Error 3314 (required field) - trap in form_error In-Reply-To: <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> References: <5b2621db0705251624o66adc5f6l9ab14ac93ddea544@mail.gmail.com><000c01c79f2c$2b019590$0200a8c0@danwaters><5b2621db0705290935g11738355g202050e2364fdab1@mail.gmail.com> <5b2621db0705291359n7096a137v3c87b79a2f7025c2@mail.gmail.com> Message-ID: <000901c7a23e$98b10ac0$0200a8c0@danwaters> Hi Gale, In the Enter event for a combobox, do this: If IsNull(cboList) then cboList.Dropdown End If This means that anytime the user tabs into this combobox and it's empty, the list drops down automatically (or if you use cboList.SetFocus after finding that it's required but empty). Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez Sent: Tuesday, May 29, 2007 4:00 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Error 3314 (required field) - trap in form_error Hi again! I tried Steve's method as I was hoping for a quick fix. It works great, although I had a few things I wanted to do that I may not be able to with this method. One thing is that I'd like to set focus on the required field after the message, and to drop down if it's a combo box. I'd also like to replace the standard Access title in the message box with my own, and I don't know if that's possible using this method without writing a function containing the validation rule & text and the components of the message box. The third thing is a form-subform problem: I'm using a subform and although the Validation Rule works beautifully on the main form and subform once they are dirty, it allows you to move to a new main form record without filling out any of the subform fields (I guess because it only invokes the rule once it sees the record as dirty?) I tried editing one of the subform fields (a date field which is automatically entered anyway) in the main form's On Dirty and Before Update events, but it started processing the subform's Validation Rules before all of the main form's field were filled in first case and immediately gave a required field message when I move from form to subform in the second case. Have you run against this problem as well? Any thoughts woud be very appreciated. It is great to see so many ways of tackling this issue. I'm also checking out Dan's and A.D.'s suggestions. Thank you, Gale On 5/29/07, Gale Perez wrote: > > Dan, Steve, and A.D. (hope I didn't leave anyone out), > > Wow ... as always, I am amazed at how helpful this group is!! Thank you > all so much. I'm very grateful for your thoughts and am looking at your > suggestions right now. > > Gale > > > On 5/25/07, Dan Waters wrote: > > > > Hi Gale, > > > > In addition to checking for Null, you also must check for an empty > > string. > > > > If IsNull(ctl) or ctl = "" Then > > > > If you want, you can place a value in a control's Tag property, such as > > R or > > Required to designate that field as required. But if every control that > > has > > a caption is actually required, then I think your method is appropriate. > > > > > > Also, I would recommend going through this loop before an error occurs, > > if > > you can. > > > > HTH, > > Dan > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gale Perez > > Sent: Friday, May 25, 2007 6:24 PM > > To: accessd at databaseadvisors.com > > Subject: [AccessD] Error 3314 (required field) - trap in form_error > > > > Hi! > > > > I have a form with several fields whose "Required" property is Yes, and > > I want to trap Error 3314 (required field) in the form_error. I would > > like > > the code to set focus on the first field that is required and null and > > display a custom message. The problem is that it isn't seeing the > > control > > as Null (so it ignores If IsNull(ctl), and just displays the customary > > message). I would greatly appreciate any advice. > > > > I am also interested in finding out if you can determine a control's > > table-level properties (e.g., required, and datatype) while in the form, > > instead of using an asterisk and looking at the label caption to do it. > > Here is the code: > > > > Dim ctl as Control > > Dim strCaption as String > > ...... > > If DataErr = 3314 Then > > For Each ctl In Me.Controls > > ' get the caption for the field label > > strCaption = Screen.ActiveControl.Controls.Item(0).Caption > > If Left(strCaption, 1) = "*" Then 'required field > > If IsNull(ctl) Then 'it is ignoring this, not seeing the > > field as null > > ctl.SetFocus > > MsgBox Chr$(34) & strCaption & Chr$(34) & " is a > > required field." > > Response = acDataErrContinue > > Exit sub > > End If > > End If > > Next > > End if > > > > Thank you so much for any assistance, > > Gale > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/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 Tue May 29 18:13:10 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:13:10 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <002501c7a23b$edc4b410$2534fad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> Message-ID: <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> OpenOffice is an open-source "competitor" to MS Office, and I don't see how it figures into this discussion. I use it on my Linux box, and AFAIC it is irrelevant to this discussion. A. On 5/29/07, Susan Harkins wrote: > > >From Excel's File Open command select the mdb file you're having trouble > with. It will open it. Just do NOT save it. After Excel opens the mdb file > -- the entire file, not a selected table or anything like that -- close > Excel. Then, try opening the mdb in Access and see what happens. > > I read the other responses -- about importing all the reports -- you're > not > manually importing ReportX into the new database are you? I thought you > said > you weren't, but that something drags along the report's module anyway -- > is > this the case? I've never seen it happen, but nothing surprises me anymore > with Access. ;) > > Oh yeah -- on a recent blog entry I saw several people mention OpenOffice > for clearing up Word corruption. I don't even know what OpenOffice is, so > maybe someone here knows and can tell us it it works for Access too? > That's > a shot in the dark though -- I would imagine if it did, we'd have already > heard about it. :) > > Susan H. > > Susan - > > When you say 'open in Excel' do you mean just grab one table out of the > 50+ > that are in there? If so...I tried it, and no luck. I already tried > deleting the code attached to ReportX - and I can delete it, but then I > get > a 'save failed' error. Let me know if I misinterpreted your Excel method. > > Thanks! > > Janet > > > On 5/29/07, Susan Harkins wrote: > > > > This is going to sound really odd, but I have seen it work. Open it in > > Excel > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > destroy it. Just open it. Then, close it. I have absolutely no idea > > why it sometimes works, I just not that it does. Word of warning, it > > probably won't work, and you might want to make a copy before you do > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > you save it as an xls file -- but I'd be over-cautious. > > > > You mentioned that in the new database, where you imported all the > > objects, that it's still complaining about missing variables, etc. > > Does ReportX's module have any code in it? Since you can't delete the > > module, try erasing all the code, then repair. Just a thought. > > > > Susan H. > > > > We use a third-party database in Access 2003 in to manage our customer > and > > sales data. This morning I was importing a report from a "storage" > > database, and accidentally selected an extra report that I did not want. > > When I noticed this extra report - call it reportX - was being > > imported, I hit 'cancel'. And now my database is corrupt. > > > > ReportX does NOT show up on the reports tab. It does, however, show > > up in the modules project window, and I can even view the code > > attached to it; I cannot delete it, though. If I try to 'trick' the > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > already exists. > > > > This is what I've tried so far: > > > > 1) Decompiled the app several times, then tried to recompile. I get > > repeated errors that 'ReportX you entered in either the property sheet > > or macro is misspelled or refers to a report that doesn't exist.' > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > 2) Compact/repair the database - access crashes. > > > > 3) Running Jetcomp - error compacting database > > > > 4) Create an empty database - import everything. Although the import > > still complains about missing 'ReportX', it seems like I'm able to > > successfully import everything else. But I can't run the app because > > I get weird compile errors like 'variable not defined' or 'user > > defined type not defined'. This app is so dang convoluted to begin > > with that I don't even know where to look for the basis of these > > errors. It may even have to do with the fact that I have not properly > > registered this version of the app - the first time you run the > > installed app, it's supposed to detect your registration status and > > prompt you from there; I don't know if there is a 'manual' > > registration option. > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > Thanks - > > > > Janet Erbach > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > 5/14/2007 > > 4:46 PM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Tue May 29 18:27:16 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 19:27:16 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne><002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> Message-ID: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Saw a couple of responses from folks claiming that OpenOffice cleared up a corrupted Word file when Word wouldn't. Don't shoot me, I'm just the messenger. Susan H. OpenOffice is an open-source "competitor" to MS Office, and I don't see how it figures into this discussion. I use it on my Linux box, and AFAIC it is irrelevant to this discussion. From fuller.artful at gmail.com Tue May 29 18:33:16 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:33:16 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Message-ID: <29f585dd0705291633s47c36f82p12f6e47bb4e95e75@mail.gmail.com> Oh but Susan, I soooo like to shoot messengers LOL. On 5/29/07, Susan Harkins wrote: > > Saw a couple of responses from folks claiming that OpenOffice cleared up a > corrupted Word file when Word wouldn't. Don't shoot me, I'm just the > messenger. > > Susan H. > > OpenOffice is an open-source "competitor" to MS Office, and I don't see > how > it figures into this discussion. I use it on my Linux box, and AFAIC it is > irrelevant to this discussion. > > > -- > 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 May 29 18:53:53 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Tue, 29 May 2007 19:53:53 -0400 Subject: [AccessD] Word/Access question Message-ID: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Preface: there are no stupid questions, only stupid people. Sadly, I fall into this category. I'm doing an Access app, for a WAN with issues (nuff said). It may frequently occur that the remote users cannot, for one reason or another, hit the DB residing at HQ. In this event, the client would like the remotes to fill in a Word form and email it. I'm imagining this app deployed as follows: 1. a local FE installed on every remote, all of which point to the BE available by satellite, if and when the technology is working. Apparently this is intermittent. I know nothing about this part of the app. 2. In the event that the satellite connection is unavailable, it has been mandated that the remote user should be able to fill in a Word form and email that. (Precisely how I am to handle said emails and integrate them into the system has been conveniently overlooked, but like George Smiley, I plod on.) 3. In the absence of a reliable connection to HQ, then I don't see how this can work without a local copy of the DB. I am certainly not against that, but it drags in the replication technology -- which I have used and love, but it costs hours to set up and every time I mention hours Client says "Cheaper", and when I mention "Cheap" Client says "Not enough functionality", or something like that. 4. On the Up side, there is no danger of collision on rows from the remote users. Each remoter has her own bailiwick and no other remoter will ever touch (or even see) the contents of her bailiwick. So that part is cool. I guess that I'm just wondering about the best way to handle this stuff given a WAN whose connectivity is shaky at best. I have done some WAN stuff previously, but connectivity was not a problem then. Now it is. I suppose that replication may be an answer. I've been there and done that and I'm pretty good at that approach, but that was then, and I had somehow assumed that technology had got beyond what I did in 1998. Maybe not. Maybe that old way is the way to go. Arthur From martyconnelly at shaw.ca Tue May 29 19:32:46 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Tue, 29 May 2007 17:32:46 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <465CC62E.8050500@shaw.ca> With Access 2007 you could use InfoPath XML forms that can be mailed back and forth then automagically update an Access database table via Outlook. It is an Access 2007 Tool called "Data Collection via Email" I believe Martin was looking at this last October. Arthur Fuller wrote: >Preface: there are no stupid questions, only stupid people. Sadly, I fall >into this category. > >I'm doing an Access app, for a WAN with issues (nuff said). It may >frequently occur that the remote users cannot, for one reason or another, >hit the DB residing at HQ. In this event, the client would like the remotes >to fill in a Word form and email it. > >I'm imagining this app deployed as follows: > >1. a local FE installed on every remote, all of which point to the BE >available by satellite, if and when the technology is working. Apparently >this is intermittent. I know nothing about this part of the app. > >2. In the event that the satellite connection is unavailable, it has been >mandated that the remote user should be able to fill in a Word form and >email that. (Precisely how I am to handle said emails and integrate them >into the system has been conveniently overlooked, but like George Smiley, I >plod on.) > >3. In the absence of a reliable connection to HQ, then I don't see how this >can work without a local copy of the DB. I am certainly not against that, >but it drags in the replication technology -- which I have used and love, >but it costs hours to set up and every time I mention hours Client says >"Cheaper", and when I mention "Cheap" Client says "Not enough >functionality", or something like that. > >4. On the Up side, there is no danger of collision on rows from the remote >users. Each remoter has her own bailiwick and no other remoter will ever >touch (or even see) the contents of her bailiwick. So that part is cool. > >I guess that I'm just wondering about the best way to handle this stuff >given a WAN whose connectivity is shaky at best. I have done some WAN stuff >previously, but connectivity was not a problem then. Now it is. I suppose >that replication may be an answer. I've been there and done that and I'm >pretty good at that approach, but that was then, and I had somehow assumed >that technology had got beyond what I did in 1998. Maybe not. Maybe that old >way is the way to go. > >Arthur > > -- Marty Connelly Victoria, B.C. Canada From carbonnb at gmail.com Tue May 29 19:40:38 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Tue, 29 May 2007 20:40:38 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> References: <003b01c7a21f$9bc6c750$b034fad1@SusanOne> <002501c7a23b$edc4b410$2534fad1@SusanOne> <29f585dd0705291613y4d6e2cd1id675b2489c8197e0@mail.gmail.com> <000101c7a248$e5e0abc0$3bb82ad1@SusanOne> Message-ID: On 5/29/07, Susan Harkins wrote: > Saw a couple of responses from folks claiming that OpenOffice cleared up a > corrupted Word file when Word wouldn't. Don't shoot me, I'm just the > messenger. OpenOffice Writer can open and save Word Docs, so I can see how it could possibly "repair" corrupt Word docs. However, OO Base (the database in OpenOffice) cannot open Access MDBs. So unfortunately not an option in this case. -- 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 fhtapia at gmail.com Tue May 29 19:53:31 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Tue, 29 May 2007 17:53:31 -0700 Subject: [AccessD] Cannot import from Excel In-Reply-To: <002401c7a23b$ec06fe80$2534fad1@SusanOne> References: <002401c7a23b$ec06fe80$2534fad1@SusanOne> Message-ID: Yes we opened a few spreadsheets to look at the data. On 5/29/07, Susan Harkins wrote: > You're sure that he actually has Excel installed too? > > Susan H. > > Hi group, > My co-worker received a new machine from our wonderful helpdesk... The > problem is that he cannot import from excel on his Access 2003 on his > desktop. For some reason, when you right click in the access (2003) window > and you click on import and you get the dialog box the dropdown on the box > does not list Excel. He has Office 2003 installed on his desktop, I suspect > it may have something to do with him previously having Office 2000 installed > and then they uninstalled it. I ran the Office detect and repair, but it > did not change this at all. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From ssharkins at setel.com Tue May 29 20:22:33 2007 From: ssharkins at setel.com (Susan Harkins) Date: Tue, 29 May 2007 21:22:33 -0400 Subject: [AccessD] Cannot import from Excel In-Reply-To: References: <002401c7a23b$ec06fe80$2534fad1@SusanOne> Message-ID: <001201c7a259$0075fcf0$fb34fad1@SusanOne> Can you reinstall 2000 to see if that really is the problem? After uninstalling SQL Server 2005, Outlook went nuts. :( I've repaired, reinstalled -- no idea why uninstalling SS would impact Outlook. :( Susan H. Yes we opened a few spreadsheets to look at the data. From accessd at shaw.ca Tue May 29 20:30:50 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Tue, 29 May 2007 18:30:50 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <0JIT00EVGYN7XMP5@l-daemon> Arthur: Sounds like sending out an email message to tell everyone the email server is down. As that isn't going to work there are other possibilities. Of course there is always the old tried and true method of using synchronization. It worked for some client years ago when they were moving from office to office and would not always have a connection available. When access did become possible they would just connect their cable press their 'sync' button. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Tuesday, May 29, 2007 4:54 PM To: Access Developers discussion and problem solving Subject: [AccessD] Word/Access question Preface: there are no stupid questions, only stupid people. Sadly, I fall into this category. I'm doing an Access app, for a WAN with issues (nuff said). It may frequently occur that the remote users cannot, for one reason or another, hit the DB residing at HQ. In this event, the client would like the remotes to fill in a Word form and email it. I'm imagining this app deployed as follows: 1. a local FE installed on every remote, all of which point to the BE available by satellite, if and when the technology is working. Apparently this is intermittent. I know nothing about this part of the app. 2. In the event that the satellite connection is unavailable, it has been mandated that the remote user should be able to fill in a Word form and email that. (Precisely how I am to handle said emails and integrate them into the system has been conveniently overlooked, but like George Smiley, I plod on.) 3. In the absence of a reliable connection to HQ, then I don't see how this can work without a local copy of the DB. I am certainly not against that, but it drags in the replication technology -- which I have used and love, but it costs hours to set up and every time I mention hours Client says "Cheaper", and when I mention "Cheap" Client says "Not enough functionality", or something like that. 4. On the Up side, there is no danger of collision on rows from the remote users. Each remoter has her own bailiwick and no other remoter will ever touch (or even see) the contents of her bailiwick. So that part is cool. I guess that I'm just wondering about the best way to handle this stuff given a WAN whose connectivity is shaky at best. I have done some WAN stuff previously, but connectivity was not a problem then. Now it is. I suppose that replication may be an answer. I've been there and done that and I'm pretty good at that approach, but that was then, and I had somehow assumed that technology had got beyond what I did in 1998. Maybe not. Maybe that old way is the way to go. Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From rockysmolin at bchacc.com Tue May 29 22:26:14 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Tue, 29 May 2007 20:26:14 -0700 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Late to the party here but have you tried decompile? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Tuesday, May 29, 2007 12:13 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database Susan - When you say 'open in Excel' do you mean just grab one table out of the 50+ that are in there? If so...I tried it, and no luck. I already tried deleting the code attached to ReportX - and I can delete it, but then I get a 'save failed' error. Let me know if I misinterpreted your Excel method. Thanks! Janet On 5/29/07, Susan Harkins wrote: > > This is going to sound really odd, but I have seen it work. Open it in > Excel > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > destroy it. Just open it. Then, close it. I have absolutely no idea > why it sometimes works, I just not that it does. Word of warning, it > probably won't work, and you might want to make a copy before you do > this. I've never seen opening an mdb in Excel hurt anything -- only if > you save it as an xls file -- but I'd be over-cautious. > > You mentioned that in the new database, where you imported all the > objects, that it's still complaining about missing variables, etc. > Does ReportX's module have any code in it? Since you can't delete the > module, try erasing all the code, then repair. Just a thought. > > Susan H. > > We use a third-party database in Access 2003 in to manage our customer and > sales data. This morning I was importing a report from a "storage" > database, and accidentally selected an extra report that I did not want. > When I noticed this extra report - call it reportX - was being > imported, I hit 'cancel'. And now my database is corrupt. > > ReportX does NOT show up on the reports tab. It does, however, show > up in the modules project window, and I can even view the code > attached to it; I cannot delete it, though. If I try to 'trick' the > app by creating a dummy 'ReportX' I get the message that 'ReportX' > already exists. > > This is what I've tried so far: > > 1) Decompiled the app several times, then tried to recompile. I get > repeated errors that 'ReportX you entered in either the property sheet > or macro is misspelled or refers to a report that doesn't exist.' > After 4 or five of those, I get 'Compile error: Module not found'. > > 2) Compact/repair the database - access crashes. > > 3) Running Jetcomp - error compacting database > > 4) Create an empty database - import everything. Although the import > still complains about missing 'ReportX', it seems like I'm able to > successfully import everything else. But I can't run the app because > I get weird compile errors like 'variable not defined' or 'user > defined type not defined'. This app is so dang convoluted to begin > with that I don't even know where to look for the basis of these > errors. It may even have to do with the fact that I have not properly > registered this version of the app - the first time you run the > installed app, it's supposed to detect your registration status and > prompt you from there; I don't know if there is a 'manual' > registration option. > > Is there anything else I can do to save the database? ANYTHING?? > > Thanks - > > Janet Erbach > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > Internal Virus Database is out-of-date. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > 5/14/2007 > 4:46 PM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 11:40 AM From carbonnb at gmail.com Wed May 30 04:54:39 2007 From: carbonnb at gmail.com (Bryan Carbonnell) Date: Wed, 30 May 2007 05:54:39 -0400 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: On 5/29/07, Arthur Fuller wrote: > Preface: there are no stupid questions, only stupid people. Sadly, I fall > into this category. Which category? Stupid questions? :) > 1. a local FE installed on every remote, all of which point to the BE > available by satellite, if and when the technology is working. Apparently > this is intermittent. I know nothing about this part of the app. What if the sat link drops while the user is in the DB? Isn't that a really good way to corrupt the BE? > 2. In the event that the satellite connection is unavailable, it has been > mandated that the remote user should be able to fill in a Word form and > email that. (Precisely how I am to handle said emails and integrate them > into the system has been conveniently overlooked, but like George Smiley, I > plod on.) Have a look at http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp That should give you most of what you need to get going in this regard. If not, just ask. I've been doing Remote data collection with Word for about 8 years. > 3. In the absence of a reliable connection to HQ, then I don't see how this > can work without a local copy of the DB. I am certainly not against that, > but it drags in the replication technology -- which I have used and love, > but it costs hours to set up and every time I mention hours Client says > "Cheaper", and when I mention "Cheap" Client says "Not enough > functionality", or something like that. Good. Cheap. Fast. Give 'em the options and let 'em pick 2. -- 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 fuller.artful at gmail.com Wed May 30 05:49:25 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 06:49:25 -0400 Subject: [AccessD] Word/Access question In-Reply-To: References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> Message-ID: <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> An excellent point, Bryan. I too have been there and done that, and it leads me to the conclusion that the remoters ought to have their own local copy which is synchronized whenever they succeed in a connection. I am very well acquainted with the replication technology, and I deem you correct: that is the best alternative, given the flakiness of the satellite connections. This means I need to roll out an installation, and Sage is not within budget. I have a vbScript which can do most if not all of it, so I guess I will try that and see how it works. A test case or three, load and go, see what happens. We are still in test phase, so no result can hurt the real data. It's been a while since I did Access replication, but I know the turf pretty well, so a couple of slaps in the face ought to remind me of everything I've forgotten. :) A. On 5/30/07, Bryan Carbonnell wrote: > > On 5/29/07, Arthur Fuller wrote: > > Preface: there are no stupid questions, only stupid people. Sadly, I > fall > > into this category. > > Which category? Stupid questions? :) > > > 1. a local FE installed on every remote, all of which point to the BE > > available by satellite, if and when the technology is working. > Apparently > > this is intermittent. I know nothing about this part of the app. > > What if the sat link drops while the user is in the DB? Isn't that a > really good way to corrupt the BE? > > > 2. In the event that the satellite connection is unavailable, it has > been > > mandated that the remote user should be able to fill in a Word form and > > email that. (Precisely how I am to handle said emails and integrate them > > into the system has been conveniently overlooked, but like George > Smiley, I > > plod on.) > > Have a look at > http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp > > That should give you most of what you need to get going in this > regard. If not, just ask. I've been doing Remote data collection with > Word for about 8 years. > > > 3. In the absence of a reliable connection to HQ, then I don't see how > this > > can work without a local copy of the DB. I am certainly not against > that, > > but it drags in the replication technology -- which I have used and > love, > > but it costs hours to set up and every time I mention hours Client says > > "Cheaper", and when I mention "Cheap" Client says "Not enough > > functionality", or something like that. > > Good. Cheap. Fast. Give 'em the options and let 'em pick 2. > > -- > 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 jerbach.access at gmail.com Wed May 30 08:40:53 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Wed, 30 May 2007 08:40:53 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001101c7a26a$47843bf0$0301a8c0@HAL9005> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: Susan - Thanks for clarifying the Excel method for me. I'll try that one more time. And hello, Rocky - I did try decompile, about TWENTY times. No luck. And Arthur - since this particular *!$% application has more underwear to get bundled up in than Windows itself, importing all the 'clean' items into an empty database didn't really work either. I've got good backup copies of each form report, table, etc...but I can't actually run the app as a whole because it isn't properly registered. Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to re-install the app from scratch and then import all my custom work from the 'fill the empty database' backup I've got. Thanks everyone - I'm glad to be in on this forum. Steven's been pestering me about it for a long time, and I finally got schmart and paid attention! Janet Erbach On 5/29/07, Rocky Smolin at Beach Access Software wrote: > > Late to the party here but have you tried decompile? > > Rocky > > > > > > > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > Sent: Tuesday, May 29, 2007 12:13 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] How to repair corrupt database > > Susan - > > When you say 'open in Excel' do you mean just grab one table out of the > 50+ > that are in there? If so...I tried it, and no luck. I already tried > deleting the code attached to ReportX - and I can delete it, but then I > get > a 'save failed' error. Let me know if I misinterpreted your Excel method. > > Thanks! > > Janet > > > On 5/29/07, Susan Harkins wrote: > > > > This is going to sound really odd, but I have seen it work. Open it in > > Excel > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > destroy it. Just open it. Then, close it. I have absolutely no idea > > why it sometimes works, I just not that it does. Word of warning, it > > probably won't work, and you might want to make a copy before you do > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > you save it as an xls file -- but I'd be over-cautious. > > > > You mentioned that in the new database, where you imported all the > > objects, that it's still complaining about missing variables, etc. > > Does ReportX's module have any code in it? Since you can't delete the > > module, try erasing all the code, then repair. Just a thought. > > > > Susan H. > > > > We use a third-party database in Access 2003 in to manage our customer > and > > sales data. This morning I was importing a report from a "storage" > > database, and accidentally selected an extra report that I did not want. > > When I noticed this extra report - call it reportX - was being > > imported, I hit 'cancel'. And now my database is corrupt. > > > > ReportX does NOT show up on the reports tab. It does, however, show > > up in the modules project window, and I can even view the code > > attached to it; I cannot delete it, though. If I try to 'trick' the > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > already exists. > > > > This is what I've tried so far: > > > > 1) Decompiled the app several times, then tried to recompile. I get > > repeated errors that 'ReportX you entered in either the property sheet > > or macro is misspelled or refers to a report that doesn't exist.' > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > 2) Compact/repair the database - access crashes. > > > > 3) Running Jetcomp - error compacting database > > > > 4) Create an empty database - import everything. Although the import > > still complains about missing 'ReportX', it seems like I'm able to > > successfully import everything else. But I can't run the app because > > I get weird compile errors like 'variable not defined' or 'user > > defined type not defined'. This app is so dang convoluted to begin > > with that I don't even know where to look for the basis of these > > errors. It may even have to do with the fact that I have not properly > > registered this version of the app - the first time you run the > > installed app, it's supposed to detect your registration status and > > prompt you from there; I don't know if there is a 'manual' > > registration option. > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > Thanks - > > > > Janet Erbach > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > Internal Virus Database is out-of-date. > > Checked by AVG Free Edition. > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > 5/14/2007 > > 4:46 PM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 > 11:40 AM > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From Lambert.Heenan at AIG.com Wed May 30 08:56:08 2007 From: Lambert.Heenan at AIG.com (Heenan, Lambert) Date: Wed, 30 May 2007 09:56:08 -0400 Subject: [AccessD] Cannot import from Excel Message-ID: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> Take a look here. I think you'll find response #2 is the solution. http://www.computing.net/office/wwwboard/forum/1005.html Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia Sent: Tuesday, May 29, 2007 8:54 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Cannot import from Excel Yes we opened a few spreadsheets to look at the data. On 5/29/07, Susan Harkins wrote: > You're sure that he actually has Excel installed too? > > Susan H. > > Hi group, > My co-worker received a new machine from our wonderful helpdesk... The > problem is that he cannot import from excel on his Access 2003 on his > desktop. For some reason, when you right click in the access (2003) > window and you click on import and you get the dialog box the dropdown > on the box does not list Excel. He has Office 2003 installed on his > desktop, I suspect it may have something to do with him previously > having Office 2000 installed and then they uninstalled it. I ran the > Office detect and repair, but it did not change this at all. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jerbach.access at gmail.com Wed May 30 09:09:51 2007 From: jerbach.access at gmail.com (Janet Erbach) Date: Wed, 30 May 2007 09:09:51 -0500 Subject: [AccessD] How to repair corrupt database In-Reply-To: References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: Hey everybody - I ended up re-installing, but it wasn't to painful - because the install exe file actually had a 'repair' option!! So the corruption has been taken care of, and I've re-imported all my custom stuff. And from now on I faithfully swear to make backups on a daily basis. Honest. Janet On 5/30/07, Janet Erbach wrote: > > Susan - Thanks for clarifying the Excel method for me. I'll try that one > more time. > > And hello, Rocky - I did try decompile, about TWENTY times. No luck. > > And Arthur - since this particular *!$% application has more underwear to > get bundled up in than Windows itself, importing all the 'clean' items into > an empty database didn't really work either. I've got good backup copies of > each form report, table, etc...but I can't actually run the app as a whole > because it isn't properly registered. > > Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to > re-install the app from scratch and then import all my custom work from the > 'fill the empty database' backup I've got. > > Thanks everyone - I'm glad to be in on this forum. Steven's been > pestering me about it for a long time, and I finally got schmart and paid > attention! > > Janet Erbach > > > > On 5/29/07, Rocky Smolin at Beach Access Software > wrote: > > > > Late to the party here but have you tried decompile? > > > > Rocky > > > > > > > > > > > > > > > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach > > Sent: Tuesday, May 29, 2007 12:13 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] How to repair corrupt database > > > > Susan - > > > > When you say 'open in Excel' do you mean just grab one table out of the > > 50+ > > that are in there? If so...I tried it, and no luck. I already tried > > deleting the code attached to ReportX - and I can delete it, but then I > > get > > a 'save failed' error. Let me know if I misinterpreted your Excel > > method. > > > > Thanks! > > > > Janet > > > > > > On 5/29/07, Susan Harkins wrote: > > > > > > This is going to sound really odd, but I have seen it work. Open it in > > > > > Excel > > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally > > > destroy it. Just open it. Then, close it. I have absolutely no idea > > > why it sometimes works, I just not that it does. Word of warning, it > > > probably won't work, and you might want to make a copy before you do > > > this. I've never seen opening an mdb in Excel hurt anything -- only if > > > you save it as an xls file -- but I'd be over-cautious. > > > > > > You mentioned that in the new database, where you imported all the > > > objects, that it's still complaining about missing variables, etc. > > > Does ReportX's module have any code in it? Since you can't delete the > > > module, try erasing all the code, then repair. Just a thought. > > > > > > Susan H. > > > > > > We use a third-party database in Access 2003 in to manage our customer > > and > > > sales data. This morning I was importing a report from a "storage" > > > database, and accidentally selected an extra report that I did not > > want. > > > When I noticed this extra report - call it reportX - was being > > > imported, I hit 'cancel'. And now my database is corrupt. > > > > > > ReportX does NOT show up on the reports tab. It does, however, show > > > up in the modules project window, and I can even view the code > > > attached to it; I cannot delete it, though. If I try to 'trick' the > > > app by creating a dummy 'ReportX' I get the message that 'ReportX' > > > already exists. > > > > > > This is what I've tried so far: > > > > > > 1) Decompiled the app several times, then tried to recompile. I get > > > repeated errors that 'ReportX you entered in either the property sheet > > > or macro is misspelled or refers to a report that doesn't exist.' > > > After 4 or five of those, I get 'Compile error: Module not found'. > > > > > > 2) Compact/repair the database - access crashes. > > > > > > 3) Running Jetcomp - error compacting database > > > > > > 4) Create an empty database - import everything. Although the import > > > still complains about missing 'ReportX', it seems like I'm able to > > > successfully import everything else. But I can't run the app because > > > I get weird compile errors like 'variable not defined' or 'user > > > defined type not defined'. This app is so dang convoluted to begin > > > with that I don't even know where to look for the basis of these > > > errors. It may even have to do with the fact that I have not properly > > > registered this version of the app - the first time you run the > > > installed app, it's supposed to detect your registration status and > > > prompt you from there; I don't know if there is a 'manual' > > > registration option. > > > > > > Is there anything else I can do to save the database? ANYTHING?? > > > > > > Thanks - > > > > > > Janet Erbach > > > -- > > > AccessD mailing list > > > AccessD at databaseadvisors.com > > > http://databaseadvisors.com/mailman/listinfo/accessd > > > Website: http://www.databaseadvisors.com > > > > > > Internal Virus Database is out-of-date. > > > Checked by AVG Free Edition. > > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: > > > 5/14/2007 > > > 4:46 PM > > > > > > > > > -- > > > AccessD mailing list > > > AccessD at databaseadvisors.com > > > http://databaseadvisors.com/mailman/listinfo/accessd > > > Website: http://www.databaseadvisors.com > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: 5/28/2007 > > > > 11:40 AM > > > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > From jwcolby at colbyconsulting.com Wed May 30 09:46:23 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 10:46:23 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: Message-ID: <20070530144625.5E0ABBF97@smtp-auth.no-ip.com> >And from now on I faithfully swear to make backups on a daily basis. Honest. Yea yea yea. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach Sent: Wednesday, May 30, 2007 10:10 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database Hey everybody - I ended up re-installing, but it wasn't to painful - because the install exe file actually had a 'repair' option!! So the corruption has been taken care of, and I've re-imported all my custom stuff. And from now on I faithfully swear to make backups on a daily basis. Honest. Janet From rockysmolin at bchacc.com Wed May 30 09:48:42 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Wed, 30 May 2007 07:48:42 -0700 Subject: [AccessD] Outlook - Allow Access Message-ID: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky From JHewson at karta.com Wed May 30 09:49:45 2007 From: JHewson at karta.com (Jim Hewson) Date: Wed, 30 May 2007 09:49:45 -0500 Subject: [AccessD] Tab Control Locking In-Reply-To: <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25><6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com> <128ED29B1D0C4920AA783BECC6E0551B@kost36PC> Message-ID: <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> Kostas, I prefer to hide the tab versus hide all the controls. In design view, click on one of the tabs In tab (Page) control properties... under format change visible to No. When the person enters the correct password - turn visible to yes. Me.PageName.Visible = True ' I prefer to use the page name vs the page index. HTH Jim jhewson at karta.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas Konstantinidis Sent: Tuesday, May 29, 2007 12:39 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Tab Control Locking Hi Jim.. sorry for thedelay to your quickly response but it happened because of a big crash in my PC (I have already bought a new one...) hmm that's what I need for... but I don't know how to do it.. many many thank's /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Saturday, May 26, 2007 6:01 PM Subject: Re: [AccessD] Tab Control Locking > > You could also hide the controls on the tab until the password is correct. > Hide the controls by default then when the password is correct unhide > them. > > Jim > jhewson at karta.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Saturday, May 26, 2007 1:41 AM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] Tab Control Locking > > Hi Kostas > I think you'll need to lock all of the controls within a tab rather than > the > tab itself. A simple way to do this is to drop a subform on the tab and > put > all of your controls in that. Then you need only set the subform locked > and > unlocked. > > -- Andy Lacey > http://www.minstersystems.co.uk > >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >> Kostas Konstantinidis >> Sent: 25 May 2007 10:22 >> To: Access Developers discussion and problem solving >> Subject: [AccessD] Tab Control Locking >> >> >> Hi group, >> is that possible to lock a tab control form asking when cliking for a >> password? >> >> many 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 fuller.artful at gmail.com Wed May 30 09:53:47 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 10:53:47 -0400 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> Think Bob Marley. Redemption Song, to be specific. The library you want is Redemption. You can lose the Song part :) On 5/30/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > A while back I ran into the problem of automating Outlook from Access and > getting the Outlook message about allowing the program access to Outlook > for > a certain number of minutes. I found a program on the web which disabled > this message but I can't find the program or the link. > > I think I may have gotten the lead from this list but the archives are > down > so I can't check. > > Does anyone remember the name of that routine? > > MTIA > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From cfoust at infostatsystems.com Wed May 30 09:57:21 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Wed, 30 May 2007 07:57:21 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: Besides Redemption, I think ClickYes has been used for this. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 7:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From pharold at proftesting.com Wed May 30 10:14:41 2007 From: pharold at proftesting.com (Perry L Harold) Date: Wed, 30 May 2007 11:14:41 -0400 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D15E@EXCHANGE.ptiorl.local> Express ClickYes sits in the tray and answers the questions allowing Outlook access without the user having to click any buttons. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- 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 May 30 10:18:57 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 11:18:57 -0400 Subject: [AccessD] Go to today Message-ID: <29f585dd0705300818m592f6e3ue97118caf71963ee@mail.gmail.com> It's been a while since I've done an Access FE and I'm rusty. Here's the situation. There's a table whose data includes stuff from a few years back and up to mid-next-year (events, already-occurred and scheduled to occur). I want to open the form on the closest date >= today. There is also a filter, by Employee. The form begins with all Employees but should you elect to set the filter, then it's scoped by selected Emp. But I still want the date thing to work. In the combo-box for Emp filter there's a union with an "All" case at the top, which choice simply wipes out the existing filter on Emps (if any). I do NOT want to filter out the events prior to today. I just want to open the form at today or the nearest date beyond today, and I also want to respect the Emp filter. Advice? TIA, Rusty old Arthur, who has been spending way too much time in SQL Server to remember all these fancy shenanigans. :) From bhjohnson at verizon.net Wed May 30 10:39:45 2007 From: bhjohnson at verizon.net (Bruce H. Johnson) Date: Wed, 30 May 2007 08:39:45 -0700 Subject: [AccessD] Outlook - Allow Access -- Redemption In-Reply-To: <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> <29f585dd0705300753i3ef791d0u1e609f6ad0d481dc@mail.gmail.com> Message-ID: <01fe01c7a2d0$c03f4e20$0201a8c0@HALSR> I got the Redemption distribution version and it works just as advertised. Gotten three or four (free) updates since then. Bruce H. Johnson Sylmar, CA -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 7:54 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Outlook - Allow Access Think Bob Marley. Redemption Song, to be specific. The library you want is Redemption. You can lose the Song part :) On 5/30/07, Rocky Smolin at Beach Access Software wrote: > > Dear List: > > A while back I ran into the problem of automating Outlook from Access and > getting the Outlook message about allowing the program access to Outlook > for > a certain number of minutes. I found a program on the web which disabled > this message but I can't find the program or the link. > > I think I may have gotten the lead from this list but the archives are > down > so I can't check. > > Does anyone remember the name of that routine? > > MTIA > > Rocky > > > > > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From rockysmolin at bchacc.com Wed May 30 10:41:00 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Wed, 30 May 2007 08:41:00 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D15E@EXCHANGE.ptiorl.local> Message-ID: <000d01c7a2d0$ecfa9190$0301a8c0@HAL9005> Click Yes. That was it. Thanks Perry and Charlotte. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Perry L Harold Sent: Wednesday, May 30, 2007 8:15 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Outlook - Allow Access Express ClickYes sits in the tray and answers the questions allowing Outlook access without the user having to click any buttons. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 10:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From wdhindman at dejpolsystems.com Wed May 30 11:31:07 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 12:31:07 -0400 Subject: [AccessD] How to repair corrupt database References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> Message-ID: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> "And from now on I faithfully swear to make backups on a daily basis. Honest." Janet ...you say it ...but you don't really mean it ...none of us do ...not until you automate the backup will it really, really get done ...been there, eh :) William Hindman ----- Original Message ----- From: "Janet Erbach" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 10:09 AM Subject: Re: [AccessD] How to repair corrupt database > Hey everybody - I ended up re-installing, but it wasn't to painful - > because > the install exe file actually had a 'repair' option!! So the corruption > has > been taken care of, and I've re-imported all my custom stuff. And from > now > on I faithfully swear to make backups on a daily basis. Honest. > > Janet > > > On 5/30/07, Janet Erbach wrote: >> >> Susan - Thanks for clarifying the Excel method for me. I'll try that one >> more time. >> >> And hello, Rocky - I did try decompile, about TWENTY times. No luck. >> >> And Arthur - since this particular *!$% application has more underwear >> to >> get bundled up in than Windows itself, importing all the 'clean' items >> into >> an empty database didn't really work either. I've got good backup copies >> of >> each form report, table, etc...but I can't actually run the app as a >> whole >> because it isn't properly registered. >> >> Sooooooooo - if Susan's shot in the dark doesn't work, I'm going to >> re-install the app from scratch and then import all my custom work from >> the >> 'fill the empty database' backup I've got. >> >> Thanks everyone - I'm glad to be in on this forum. Steven's been >> pestering me about it for a long time, and I finally got schmart and paid >> attention! >> >> Janet Erbach >> >> >> >> On 5/29/07, Rocky Smolin at Beach Access Software >> >> wrote: >> > >> > Late to the party here but have you tried decompile? >> > >> > Rocky >> > >> > >> > >> > >> > >> > >> > >> > >> > -----Original Message----- >> > From: accessd-bounces at databaseadvisors.com >> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Janet Erbach >> > Sent: Tuesday, May 29, 2007 12:13 PM >> > To: Access Developers discussion and problem solving >> > Subject: Re: [AccessD] How to repair corrupt database >> > >> > Susan - >> > >> > When you say 'open in Excel' do you mean just grab one table out of the >> > 50+ >> > that are in there? If so...I tried it, and no luck. I already tried >> > deleting the code attached to ReportX - and I can delete it, but then I >> > get >> > a 'save failed' error. Let me know if I misinterpreted your Excel >> > method. >> > >> > Thanks! >> > >> > Janet >> > >> > >> > On 5/29/07, Susan Harkins wrote: >> > > >> > > This is going to sound really odd, but I have seen it work. Open it >> > > in >> > >> > > Excel >> > > -- DO NOT save your mdb file as a Excel worksheet -- you'll totally >> > > destroy it. Just open it. Then, close it. I have absolutely no idea >> > > why it sometimes works, I just not that it does. Word of warning, it >> > > probably won't work, and you might want to make a copy before you do >> > > this. I've never seen opening an mdb in Excel hurt anything -- only >> > > if >> > > you save it as an xls file -- but I'd be over-cautious. >> > > >> > > You mentioned that in the new database, where you imported all the >> > > objects, that it's still complaining about missing variables, etc. >> > > Does ReportX's module have any code in it? Since you can't delete the >> > > module, try erasing all the code, then repair. Just a thought. >> > > >> > > Susan H. >> > > >> > > We use a third-party database in Access 2003 in to manage our >> > > customer >> > and >> > > sales data. This morning I was importing a report from a "storage" >> > > database, and accidentally selected an extra report that I did not >> > want. >> > > When I noticed this extra report - call it reportX - was being >> > > imported, I hit 'cancel'. And now my database is corrupt. >> > > >> > > ReportX does NOT show up on the reports tab. It does, however, show >> > > up in the modules project window, and I can even view the code >> > > attached to it; I cannot delete it, though. If I try to 'trick' the >> > > app by creating a dummy 'ReportX' I get the message that 'ReportX' >> > > already exists. >> > > >> > > This is what I've tried so far: >> > > >> > > 1) Decompiled the app several times, then tried to recompile. I get >> > > repeated errors that 'ReportX you entered in either the property >> > > sheet >> > > or macro is misspelled or refers to a report that doesn't exist.' >> > > After 4 or five of those, I get 'Compile error: Module not found'. >> > > >> > > 2) Compact/repair the database - access crashes. >> > > >> > > 3) Running Jetcomp - error compacting database >> > > >> > > 4) Create an empty database - import everything. Although the import >> > > still complains about missing 'ReportX', it seems like I'm able to >> > > successfully import everything else. But I can't run the app because >> > > I get weird compile errors like 'variable not defined' or 'user >> > > defined type not defined'. This app is so dang convoluted to begin >> > > with that I don't even know where to look for the basis of these >> > > errors. It may even have to do with the fact that I have not >> > > properly >> > > registered this version of the app - the first time you run the >> > > installed app, it's supposed to detect your registration status and >> > > prompt you from there; I don't know if there is a 'manual' >> > > registration option. >> > > >> > > Is there anything else I can do to save the database? ANYTHING?? >> > > >> > > Thanks - >> > > >> > > Janet Erbach >> > > -- >> > > AccessD mailing list >> > > AccessD at databaseadvisors.com >> > > http://databaseadvisors.com/mailman/listinfo/accessd >> > > Website: http://www.databaseadvisors.com >> > > >> > > Internal Virus Database is out-of-date. >> > > Checked by AVG Free Edition. >> > > Version: 7.5.467 / Virus Database: 269.7.0/804 - Release Date: >> > > 5/14/2007 >> > > 4:46 PM >> > > >> > > >> > > -- >> > > AccessD mailing list >> > > AccessD at databaseadvisors.com >> > > http://databaseadvisors.com/mailman/listinfo/accessd >> > > Website: http://www.databaseadvisors.com >> > > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/accessd >> > Website: http://www.databaseadvisors.com >> > >> > No virus found in this incoming message. >> > Checked by AVG Free Edition. >> > Version: 7.5.472 / Virus Database: 269.8.1/822 - Release Date: >> > 5/28/2007 >> > >> > 11:40 AM >> > >> > >> > -- >> > AccessD mailing list >> > AccessD at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/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 markamatte at hotmail.com Wed May 30 11:38:07 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 30 May 2007 16:38:07 +0000 Subject: [AccessD] Cannot import from Excel In-Reply-To: Message-ID: I don't have A2003 in front of me...but I know that some versions in the past did not load all file types...depending on your type of install. I know in A97...when you bring up the dialouge to import...there is a message at the bottom that tells you "you can run setup to add other file types". I know the company I work for did not have TEXT files as choices with their installs...and I had them run setup to choose all file types. Good luck, Mark A. Matte >From: "Francisco Tapia" >Reply-To: Access Developers discussion and problem >solving >To: access-l at peach.ease.lsoft.com, "Access Developers discussion and >problem solving" >Subject: [AccessD] Cannot import from Excel >Date: Tue, 29 May 2007 11:57:55 -0700 > >Hi group, >My co-worker received a new machine from our wonderful helpdesk... The >problem is that he cannot import from excel on his Access 2003 on his >desktop. For some reason, when you right click in the access (2003) window >and you click on import and you get the dialog box the dropdown on the box >does not list Excel. He has Office 2003 installed on his desktop, I >suspect >it may have something to do with him previously having Office 2000 >installed >and then they uninstalled it. I ran the Office detect and repair, but it >did not change this at all. > > >Thanks in advance > >-- >-Francisco >http://sqlthis.blogspot.com | Tsql and More... >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ PC Magazine?s 2007 editors? choice for best Web mail?award-winning Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_pcmag_0507 From fuller.artful at gmail.com Wed May 30 11:45:09 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 12:45:09 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> Message-ID: <29f585dd0705300945y2c6253d9r34758be6f81864a9@mail.gmail.com> God what a weird thought. The Hindman becoming a Canadian. Don't we have border protection? Eh? On 5/30/07, William Hindman wrote: > > "And from now > on I faithfully swear to make backups on a daily basis. Honest." Janet > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > William Hindman > From ssharkins at setel.com Wed May 30 11:52:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 30 May 2007 12:52:58 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> Message-ID: <000c01c7a2da$faade8a0$5b32fad1@SusanOne> ...you say it ...but you don't really mean it ...none of us do ...not until you automate the backup will it really, really get done ...been there, eh :) =========I am trying to be more faithful about this. Word recently ate a manuscript just as I'd completed it. I hadn't had time to save it to removeable and I hadn't bothered to do so before. Then, BAM! The computer locked up and I had to push the button. Couldn't open the file in Word using either of it's repair options. It was toast. Used WordPad and got the text, but lost the footnotes, etc. It didn't take long to rebuild the notes as WordPad displayed underscores in the text in lieu of the note numbers and at the end of the file were all the notes' text, in order. Still, it was a pia and a reminder to be more deligent. Susan H. From fuller.artful at gmail.com Wed May 30 12:02:07 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 13:02:07 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <000c01c7a2da$faade8a0$5b32fad1@SusanOne> References: <001101c7a26a$47843bf0$0301a8c0@HAL9005> <001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> <000c01c7a2da$faade8a0$5b32fad1@SusanOne> Message-ID: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> JC is right. Like riding a bicycle... you have to remove it from the conscious part of your mind. a Dual-layer DVD sitting in the burner and a scheduled differential backup and the occasional replacement of the DVD. Note to self: read what you just recommended, idiot, and do as you say. A. On 5/30/07, Susan Harkins wrote: > > > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate a > manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It was > toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't take > long to rebuild the notes as WordPad displayed underscores in the text in > lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From jwcolby at colbyconsulting.com Wed May 30 13:21:38 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 14:21:38 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> Message-ID: <20070530182139.2C512C011@smtp-auth.no-ip.com> >Note to self: read what you just recommended, idiot, and do as you say. Note to self: Do what Arthur recommended. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:02 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] How to repair corrupt database JC is right. Like riding a bicycle... you have to remove it from the conscious part of your mind. a Dual-layer DVD sitting in the burner and a scheduled differential backup and the occasional replacement of the DVD. Note to self: read what you just recommended, idiot, and do as you say. A. On 5/30/07, Susan Harkins wrote: > > > > ...you say it ...but you don't really mean it ...none of us do ...not > until you automate the backup will it really, really get done ...been > there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate > a manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It > was toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't > take long to rebuild the notes as WordPad displayed underscores in the > text in lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > 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 ssharkins at setel.com Wed May 30 13:47:58 2007 From: ssharkins at setel.com (Susan Harkins) Date: Wed, 30 May 2007 14:47:58 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <20070530182139.2C512C011@smtp-auth.no-ip.com> References: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> <20070530182139.2C512C011@smtp-auth.no-ip.com> Message-ID: <000301c7a2eb$0d02cc90$c332fad1@SusanOne> I wish someone would tell me how. :) Better yet, I wish someone would just come to my house and do it for me! ;) How was the conference? Susan H. >Note to self: read what you just recommended, idiot, and do as you say. Note to self: Do what Arthur recommended. ;-) From fuller.artful at gmail.com Wed May 30 14:06:18 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 15:06:18 -0400 Subject: [AccessD] How to repair corrupt database In-Reply-To: <20070530182139.2C512C011@smtp-auth.no-ip.com> References: <29f585dd0705301002s5f4257cby92f50d7b1793ca80@mail.gmail.com> <20070530182139.2C512C011@smtp-auth.no-ip.com> Message-ID: <29f585dd0705301206m43b31402o35abca4f52b70bad@mail.gmail.com> ROTFL JC. On 5/30/07, jwcolby wrote: > > >Note to self: read what you just recommended, idiot, and do as you say. > > Note to self: Do what Arthur recommended. > > ;-) > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > From dwaters at usinternet.com Wed May 30 14:10:02 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 30 May 2007 14:10:02 -0500 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> References: <000101c7a2c9$9e63b810$0301a8c0@HAL9005> Message-ID: <001501c7a2ee$215a4a30$0200a8c0@danwaters> Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From kismert at gmail.com Wed May 30 14:15:45 2007 From: kismert at gmail.com (Ken Ismert) Date: Wed, 30 May 2007 14:15:45 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465DCD61.9030806@gmail.com> The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken From jwcolby at colbyconsulting.com Wed May 30 14:38:15 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Wed, 30 May 2007 15:38:15 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> Message-ID: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Boy will there be a BUNCH of companies not upgrading beyond that! How many apps are out there coded in vba? John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Wednesday, May 30, 2007 3:16 PM To: accessd at databaseadvisors.com Subject: [AccessD] VBA abandoned in Office 2008 for Mac The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken -- 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 May 30 14:49:51 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 15:49:51 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> That is most definitely a significant shoe. I'm glad that I started looking elsewhere for income opportunities. A. On 5/30/07, Ken Ismert wrote: > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged to > use Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From mfisch4 at capex.com.ar Wed May 30 15:04:56 2007 From: mfisch4 at capex.com.ar (MF) Date: Wed, 30 May 2007 17:04:56 -0300 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Message-ID: <200705302002.l4UK2tJO016437@databaseadvisors.com> What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count? MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken From fuller.artful at gmail.com Wed May 30 15:15:43 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 16:15:43 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> Message-ID: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office > suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises > for VBA support in the future, Mac developers are encouraged to use > Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 May 30 15:17:02 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Wed, 30 May 2007 16:17:02 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <200705302002.l4UK2tJO016437@databaseadvisors.com> References: <465DCD61.9030806@gmail.com> <20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <200705302002.l4UK2tJO016437@databaseadvisors.com> Message-ID: <29f585dd0705301317i72d67ab8l556598f031d6abf4@mail.gmail.com> Two years max. On 5/30/07, MF wrote: > > What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count? > > MF > From markamatte at hotmail.com Wed May 30 15:24:57 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Wed, 30 May 2007 20:24:57 +0000 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> Message-ID: Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started looking >elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > > Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are encouraged to > > use Applescript instead. > > > > Access developers have to at least consider the possibility that Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them?with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_protection_0507 From ebarro at verizon.net Wed May 30 15:31:25 2007 From: ebarro at verizon.net (Eric Barro) Date: Wed, 30 May 2007 13:31:25 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: Message-ID: <0JIV00E92FOETXA5@vms040.mailsrvcs.net> Shouldn't the question be..."What does it mean for those who rely on Access and VBA?" -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 30, 2007 1:25 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started >looking elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its > > latest Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are > > encouraged to use Applescript instead. > > > > Access developers have to at least consider the possibility that > > Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- From pharold at proftesting.com Wed May 30 15:56:05 2007 From: pharold at proftesting.com (Perry L Harold) Date: Wed, 30 May 2007 16:56:05 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <00F5FCB4F80FDB4EB03FBAAEAD97CEAD03D163@EXCHANGE.ptiorl.local> Why don't you just say what you feel? Just added 4 laptops from Dell and had all set up with XP & O2003. Perry Harold -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 4:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged > to use Applescript instead. > > Access developers have to at least consider the possibility that > Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cjlabs at worldnet.att.net Wed May 30 15:53:52 2007 From: cjlabs at worldnet.att.net (Carolyn Johnson) Date: Wed, 30 May 2007 15:53:52 -0500 Subject: [AccessD] adhScaleForm - use with subforms References: <0JIV00E92FOETXA5@vms040.mailsrvcs.net> Message-ID: <003001c7a2fc$a30635e0$6601a8c0@XPcomputer> Access2000, WinXP I have been using adhScaleForm in my database without a problem until now -- trying to change subforms. I have a subform with a tab control. Depending on a field on the main form, the pages of the tab control vary. There are 5 possible values on the main form, each one resulting in a different set of 5 pages on the tab control. The simplest approach (in theory) seems to be to have 5 different subforms -- the appropriate subform for the main field control is assigned as the source object on the Form_Current property as the value changes. My problem is that I need to resize the subform as it becomes the new source object on the main form. If I run the adhScaleForm code from the subform when it opens as the new source object, I get an error that SetFormSize is not available, the subform IS resized, but it is in the wrong location. Has anyone dealt with the adhScaleForm code and switching subforms? Obviously, another option is to have all the pages on one tab control and make only the relevant ones visible, based on the main form, but each page has a fair amount of code associated with it, and it seems simpler to keep them separate, if I can solve the resizing issue. TIA, Carolyn Johnson From cjlabs at worldnet.att.net Wed May 30 15:56:40 2007 From: cjlabs at worldnet.att.net (Carolyn Johnson) Date: Wed, 30 May 2007 15:56:40 -0500 Subject: [AccessD] adhScaleForm - use with subforms correction Message-ID: <000701c7a2fd$06e89580$6601a8c0@XPcomputer> It's the SizeToFitForm code that is not available when I try to call the adhScaleForm from the subform. Carolyn Johnson From jimdettman at verizon.net Wed May 30 16:02:47 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 30 May 2007 17:02:47 -0400 Subject: [AccessD] Contact Database Design III. Message-ID: <000901c7a2fd$e116ec70$8abea8c0@XPS> Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. From wdhindman at dejpolsystems.com Wed May 30 16:11:41 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 17:11:41 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <005401c7a2ff$1f4a1f20$7d7d6c4c@jisshowsbs.local> ...Arthur doing JC ...not bad for an amateur, eh :) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 4:15 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >I wonder how many users are revolting against (revolted by) the Ribbon > thing? What I can say is that it took about 15 minutes for me to find the > most basic commands in Word. I HATE this ribbon s**t. At the very least, > Office ought to recognize the keystrokes we seasoned folk have learned > eons > ago. For example, Alt+T = Table. Why do I have to fart around and look for > these commands, when MS itself has schooled me into thinking this or that > keystroke is the way to get there? > > Apparently, newbies like this ribbon s**t. Great. In a few more months > I'll > be eligible for retirement and then Kiss This, Bill! I'd rather watch > Nadal > try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! > Six months and I'm gone except for hobbyist play. The person who thought > of > ribbons will surely go down the same flush as the person who thought of > the > stupid little doggie helper. Sheesh. I feel sorry for that person. > Probably > just did what he was told, ended up the most despised programmer in the > history of Windows. However, perhaps the inventor of ribbons will take his > place as the most despised programmer in the history of Windows. > > I could be quite wrong about this. I have heard more than one newbie say > how > cool this ribbon thing is. Commands that have been available since God > Knows > When are now right there on the ribbon. Yeah, great. Meanwhile it took me > half an hour to deduce how to insert a row into a table. Why in the name > of > God is this command on the Format menu? Which particular Redmond Einstein > thought to place this command there? What does "Insert a row into a table" > have even remotely to do with "Format"? > > There are clearly lots of brain-dead people in the state of Washington. > The > one who thought to place that command there, the boss who authorized it, > and > so on up the chain of command. Perhaps there has been an influx of cocaine > or some other mind-altering drug into Redmond. > > Let us be fair. If anything, I try to be democratic. Let's start with the > traditional menu plus all the ribbon stuff. Let's allow the use to > suppress > either of these. Let's respect, even in the event that you suppress the > traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, > etc.) > > So let's call spades spades: Office 2007 sucks. Vista sucks. I have the > former installed but shall remove it this weekend. Fortunately I had the > foresight to save nothing on O2K7 format, so when I remove it I will still > be able to read all the files. > > I have yet to hear one positive experience from a Vista user. Apparently > it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. > Unceremoniously quits should you try anything like backing up a DVD movie. > > As for me, I have had quite enough of this s**t from Redmond. I'm out of > the > MS loop. Open Office and Google Apps do most everything I need. Open > Office's Base is pretty close to Access, though not quite there. Ubuntu is > way nicer than Vista, and it runs on some of my admittedly lame hardware. > > Earth to Redmond: you are running out of reasons for us to stick around. > > A. > > > On 5/30/07, jwcolby wrote: >> >> Boy will there be a BUNCH of companies not upgrading beyond that! How >> many >> apps are out there coded in vba? >> >> >> John W. Colby >> Colby Consulting >> www.ColbyConsulting.com >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >> Sent: Wednesday, May 30, 2007 3:16 PM >> To: accessd at databaseadvisors.com >> Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> The first shoe has dropped: Microsoft has abandoned VBA in its latest >> Office >> suite for the Macintosh: >> >> Mac Users Face Hurdles with New Office Versions >> http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 >> >> Although there is a converter tool for older Office documents, with >> promises >> for VBA support in the future, Mac developers are encouraged to use >> Applescript instead. >> >> Access developers have to at least consider the possibility that Office >> 2007 will be the last version of Office that will natively run VBA. >> >> -Ken >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/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 May 30 16:11:14 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Wed, 30 May 2007 17:11:14 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <001101c7a2ff$0ef7f5c0$8abea8c0@XPS> Ken, If not VBA, what will it run? I'm not sure that the article indicates what everyone is thinking; that this is the end of VBA. It just says that Microsoft doesn't want to support VBA on the Mac. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert Sent: Wednesday, May 30, 2007 3:16 PM To: accessd at databaseadvisors.com Subject: [AccessD] VBA abandoned in Office 2008 for Mac The first shoe has dropped: Microsoft has abandoned VBA in its latest Office suite for the Macintosh: Mac Users Face Hurdles with New Office Versions http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 Although there is a converter tool for older Office documents, with promises for VBA support in the future, Mac developers are encouraged to use Applescript instead. Access developers have to at least consider the possibility that Office 2007 will be the last version of Office that will natively run VBA. -Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From askolits at ot.com Wed May 30 16:20:02 2007 From: askolits at ot.com (John Skolits) Date: Wed, 30 May 2007 17:20:02 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <200705302002.l4UK2tJO016437@databaseadvisors.com> Message-ID: <01fc01c7a300$493c8920$0f01a8c0@officexp> "What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count?" Based on the many legacy systems I see that still rely on the Dos operating systems, it will be a long time. Below 50%? 4-5 years. But, it all scares me a bit since Access as a front end and also VBA are my primary tools of development. Time to start changing careers? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF Sent: Wednesday, May 30, 2007 4:05 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Wed May 30 16:50:35 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Wed, 30 May 2007 17:50:35 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting macros, not a development language supporting extensive database development ...so the opt-out in favor of Apple Script is really a move on their part to make MS Office/Mac "more" Mac friendly ...and has zero implications for the future of VBA on its own platform ...imnsho, of course. William Hindman ----- Original Message ----- From: "John Skolits" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 5:20 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count?" > > Based on the many legacy systems I see that still rely on the Dos > operating > systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my > primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 martyconnelly at shaw.ca Wed May 30 17:35:42 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Wed, 30 May 2007 15:35:42 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <465DFC3E.6020606@shaw.ca> There are a lot of reasons for dropping VBA One being Mac's are now Intel based. An Intel chip based Mac can run a virtual version of XP and Office. Office 2007 can run in Parallel Coherence mode. You can convert VBA to Apple Script Here is the technical reason from MS MacBusinessUnit for dropping VBA http://www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/ You have no idea just how ancient VBA really is... The "mummy's curse" that killed Lord Carnarvon during the excavation of King Tut's tomb was actually a VBA script. Ken Ismert wrote: >The first shoe has dropped: Microsoft has abandoned VBA in its latest >Office suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >Although there is a converter tool for older Office documents, with >promises for VBA support in the future, Mac developers are encouraged to >use Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken > > -- Marty Connelly Victoria, B.C. Canada From fhtapia at gmail.com Wed May 30 17:59:28 2007 From: fhtapia at gmail.com (Francisco Tapia) Date: Wed, 30 May 2007 15:59:28 -0700 Subject: [AccessD] Cannot import from Excel In-Reply-To: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> References: <34C8A2AB1EF3564CB0D64DB6AFFDD5C20799C3AA@xlivmbx35.aig.com> Message-ID: We tried solution #1 and #2 completely uninstalling and re-installing Office 2003 to no avail. The helpdesk is now re-imaging the machine from scratch as other builds do not have this issue. Thanks to all who helped :) -- Francisco On 5/30/07, Heenan, Lambert wrote: > > Take a look here. I think you'll find response #2 is the solution. > > http://www.computing.net/office/wwwboard/forum/1005.html > > Lambert > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco Tapia > Sent: Tuesday, May 29, 2007 8:54 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Cannot import from Excel > > > Yes we opened a few spreadsheets to look at the data. > > > On 5/29/07, Susan Harkins wrote: > > You're sure that he actually has Excel installed too? > > > > Susan H. > > > > Hi group, > > My co-worker received a new machine from our wonderful helpdesk... The > > problem is that he cannot import from excel on his Access 2003 on his > > desktop. For some reason, when you right click in the access (2003) > > window and you click on import and you get the dialog box the dropdown > > on the box does not list Excel. He has Office 2003 installed on his > > desktop, I suspect it may have something to do with him previously > > having Office 2000 installed and then they uninstalled it. I ran the > > Office detect and repair, but it did not change this at all. > > > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > > > > -- > -Francisco > http://sqlthis.blogspot.com | Tsql and More... > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- -Francisco http://sqlthis.blogspot.com | Tsql and More... From dwaters at usinternet.com Wed May 30 20:56:30 2007 From: dwaters at usinternet.com (Dan Waters) Date: Wed, 30 May 2007 20:56:30 -0500 Subject: [AccessD] Get Database Size in Code? Message-ID: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Is there code whereby an Access db can determine what its own size is? Thanks! Dan From prodevmg at yahoo.com Wed May 30 21:43:57 2007 From: prodevmg at yahoo.com (Lonnie Johnson) Date: Wed, 30 May 2007 19:43:57 -0700 (PDT) Subject: [AccessD] Get Database Size in Code? Message-ID: <444637.32193.qm@web33102.mail.mud.yahoo.com> Try this... Dim LenOfFile as Long LenOfFile = FileLen(CurrentDb.Name) May God bless you beyond your imagination! Lonnie Johnson ProDev, Professional Development of MS Access Databases Visit me at ==> http://www.prodev.us ----- Original Message ---- From: Dan Waters To: Access Developers discussion and problem solving Sent: Wednesday, May 30, 2007 8:56:30 PM Subject: [AccessD] Get Database Size in Code? Is there code whereby an Access db can determine what its own size is? Thanks! Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com ____________________________________________________________________________________Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting From kost36 at otenet.gr Thu May 31 01:31:16 2007 From: kost36 at otenet.gr (Kostas Konstantinidis) Date: Thu, 31 May 2007 09:31:16 +0300 Subject: [AccessD] Tab Control Locking In-Reply-To: <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> References: <023901c79eae$2fd7abf0$6401a8c0@kost36><000501c79f60$d003df60$03b0d355@minster33c3r25><6C1791BC61725F44A28C24208026A51112629C@karta-exc-int.Karta.com><128ED29B1D0C4920AA783BECC6E0551B@kost36PC> <6C1791BC61725F44A28C24208026A511126301@karta-exc-int.Karta.com> Message-ID: <7571A5645DBC421781DF7DA86A811A3C@kost36PC> Jim, thank's a lot /kostas ----- Original Message ----- From: "Jim Hewson" To: "Access Developers discussion and problem solving" Sent: Wednesday, May 30, 2007 5:49 PM Subject: Re: [AccessD] Tab Control Locking > Kostas, > I prefer to hide the tab versus hide all the controls. > In design view, click on one of the tabs > In tab (Page) control properties... under format change visible to No. > When the person enters the correct password - turn visible to yes. > > Me.PageName.Visible = True ' I prefer to use the page name vs the page > index. > > HTH > > Jim > jhewson at karta.com > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kostas > Konstantinidis > Sent: Tuesday, May 29, 2007 12:39 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Tab Control Locking > > Hi Jim.. > sorry for thedelay to your quickly response > but it happened because of a big crash in my PC (I have already bought a > new > one...) > hmm that's what I need for... but I don't know how to do it.. > many many thank's > /kostas > > > ----- Original Message ----- > From: "Jim Hewson" > To: "Access Developers discussion and problem solving" > > Sent: Saturday, May 26, 2007 6:01 PM > Subject: Re: [AccessD] Tab Control Locking > > >> >> You could also hide the controls on the tab until the password is >> correct. >> Hide the controls by default then when the password is correct unhide >> them. >> >> Jim >> jhewson at karta.com >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey >> Sent: Saturday, May 26, 2007 1:41 AM >> To: 'Access Developers discussion and problem solving' >> Subject: Re: [AccessD] Tab Control Locking >> >> Hi Kostas >> I think you'll need to lock all of the controls within a tab rather than >> the >> tab itself. A simple way to do this is to drop a subform on the tab and >> put >> all of your controls in that. Then you need only set the subform locked >> and >> unlocked. >> >> -- Andy Lacey >> http://www.minstersystems.co.uk >> >>> -----Original Message----- >>> From: accessd-bounces at databaseadvisors.com >>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of >>> Kostas Konstantinidis >>> Sent: 25 May 2007 10:22 >>> To: Access Developers discussion and problem solving >>> Subject: [AccessD] Tab Control Locking >>> >>> >>> Hi group, >>> is that possible to lock a tab control form asking when cliking for a >>> password? >>> >>> many 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 > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > __________ NOD32 2298 (20070530) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > > From lembit.dbamail at t-online.de Thu May 31 07:29:50 2007 From: lembit.dbamail at t-online.de (Lembit Soobik) Date: Thu, 31 May 2007 14:29:50 +0200 Subject: [AccessD] How to repair corrupt database References: <001101c7a26a$47843bf0$0301a8c0@HAL9005><001f01c7a2d7$ed2d5d30$7d7d6c4c@jisshowsbs.local> <000c01c7a2da$faade8a0$5b32fad1@SusanOne> Message-ID: <000a01c7a37f$62fd9af0$1800a8c0@s1800> Some years I buildt a small script which does that for me. I used ClickExe, which I think may not be available other than in Germany since it uses German words for commands (otherwise I would not mind giving it to DBA). Also, it is pretty simple and probably much easier to do with some .net or such. It uses a little Access 97 db to buld ini files. I use this for an Excel worksheet which I update almost daily. I keep the last 5 copies as backup. When I want to open that worksheet, I open the script instead, which opens the worksheet for me. when I close the worksheet, the script checks whether it was updated and only if so, it will delete the oldest backup, then shift all the others up and copy the newest one into the youngest backup slot. I am using it for several different worksheets and pick them from alist when I open the script. I planned to use it for Access db development as well, however I have not yet extended the script to handle more than one file (need FE and BE at least to back up). I think this idea would be helpfull for making automated backups for Access and other files, once put into a better program than this ClickExe, which is very cumersome to handle. Anyway, if somebody likes to start on it and wants that script, or the Access db, no problem, just let me know. Lembit ----- Original Message ----- From: "Susan Harkins" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 6:52 PM Subject: Re: [AccessD] How to repair corrupt database > > > ...you say it ...but you don't really mean it ...none of us do ...not > until > you automate the backup will it really, really get done ...been there, eh > :) > > =========I am trying to be more faithful about this. Word recently ate a > manuscript just as I'd completed it. I hadn't had time to save it to > removeable and I hadn't bothered to do so before. Then, BAM! > The computer locked up and I had to push the button. > > Couldn't open the file in Word using either of it's repair options. It was > toast. > > Used WordPad and got the text, but lost the footnotes, etc. It didn't take > long to rebuild the notes as WordPad displayed underscores in the text in > lieu of the note numbers and at the end of the file were all the notes' > text, in order. > > Still, it was a pia and a reminder to be more deligent. > > Susan H. > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 30.05.2007 > 15:03 > > From markamatte at hotmail.com Thu May 31 09:16:30 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 31 May 2007 14:16:30 +0000 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <005401c7a2ff$1f4a1f20$7d7d6c4c@jisshowsbs.local> Message-ID: >...Arthur doing JC ...not bad for an amateur, eh :) Now THAT'S funny!!!. >From: "William Hindman" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 17:11:41 -0400 > >...Arthur doing JC ...not bad for an amateur, eh :) > >William Hindman > >----- Original Message ----- >From: "Arthur Fuller" >To: "Access Developers discussion and problem solving" > >Sent: Wednesday, May 30, 2007 4:15 PM >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > >I wonder how many users are revolting against (revolted by) the Ribbon > > thing? What I can say is that it took about 15 minutes for me to find >the > > most basic commands in Word. I HATE this ribbon s**t. At the very least, > > Office ought to recognize the keystrokes we seasoned folk have learned > > eons > > ago. For example, Alt+T = Table. Why do I have to fart around and look >for > > these commands, when MS itself has schooled me into thinking this or >that > > keystroke is the way to get there? > > > > Apparently, newbies like this ribbon s**t. Great. In a few more months > > I'll > > be eligible for retirement and then Kiss This, Bill! I'd rather watch > > Nadal > > try to come up with something to beat Fedderer. Earth to MS: Ribbons >SUCK! > > Six months and I'm gone except for hobbyist play. The person who thought > > of > > ribbons will surely go down the same flush as the person who thought of > > the > > stupid little doggie helper. Sheesh. I feel sorry for that person. > > Probably > > just did what he was told, ended up the most despised programmer in the > > history of Windows. However, perhaps the inventor of ribbons will take >his > > place as the most despised programmer in the history of Windows. > > > > I could be quite wrong about this. I have heard more than one newbie say > > how > > cool this ribbon thing is. Commands that have been available since God > > Knows > > When are now right there on the ribbon. Yeah, great. Meanwhile it took >me > > half an hour to deduce how to insert a row into a table. Why in the name > > of > > God is this command on the Format menu? Which particular Redmond >Einstein > > thought to place this command there? What does "Insert a row into a >table" > > have even remotely to do with "Format"? > > > > There are clearly lots of brain-dead people in the state of Washington. > > The > > one who thought to place that command there, the boss who authorized it, > > and > > so on up the chain of command. Perhaps there has been an influx of >cocaine > > or some other mind-altering drug into Redmond. > > > > Let us be fair. If anything, I try to be democratic. Let's start with >the > > traditional menu plus all the ribbon stuff. Let's allow the use to > > suppress > > either of these. Let's respect, even in the event that you suppress the > > traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, > > etc.) > > > > So let's call spades spades: Office 2007 sucks. Vista sucks. I have the > > former installed but shall remove it this weekend. Fortunately I had the > > foresight to save nothing on O2K7 format, so when I remove it I will >still > > be able to read all the files. > > > > I have yet to hear one positive experience from a Vista user. Apparently > > it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. > > Unceremoniously quits should you try anything like backing up a DVD >movie. > > > > As for me, I have had quite enough of this s**t from Redmond. I'm out of > > the > > MS loop. Open Office and Google Apps do most everything I need. Open > > Office's Base is pretty close to Access, though not quite there. Ubuntu >is > > way nicer than Vista, and it runs on some of my admittedly lame >hardware. > > > > Earth to Redmond: you are running out of reasons for us to stick around. > > > > A. > > > > > > On 5/30/07, jwcolby wrote: > >> > >> Boy will there be a BUNCH of companies not upgrading beyond that! How > >> many > >> apps are out there coded in vba? > >> > >> > >> John W. Colby > >> Colby Consulting > >> www.ColbyConsulting.com > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > >> Sent: Wednesday, May 30, 2007 3:16 PM > >> To: accessd at databaseadvisors.com > >> Subject: [AccessD] VBA abandoned in Office 2008 for Mac > >> > >> > >> The first shoe has dropped: Microsoft has abandoned VBA in its latest > >> Office > >> suite for the Macintosh: > >> > >> Mac Users Face Hurdles with New Office Versions > >> >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > >> > >> Although there is a converter tool for older Office documents, with > >> promises > >> for VBA support in the future, Mac developers are encouraged to use > >> Applescript instead. > >> > >> Access developers have to at least consider the possibility that Office > >> 2007 will be the last version of Office that will natively run VBA. > >> > >> -Ken > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/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 _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From markamatte at hotmail.com Thu May 31 09:21:48 2007 From: markamatte at hotmail.com (Mark A Matte) Date: Thu, 31 May 2007 14:21:48 +0000 Subject: [AccessD] Get Database Size in Code? In-Reply-To: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Message-ID: Dan, How about something like: Dim dsize As Long dsize = FileLen(CurrentDb().Name) / 1000 Thanks, Mark A. Matte >From: "Dan Waters" >Reply-To: Access Developers discussion and problem >solving >To: "'Access Developers discussion and problem >solving'" >Subject: [AccessD] Get Database Size in Code? >Date: Wed, 30 May 2007 20:56:30 -0500 > >Is there code whereby an Access db can determine what its own size is? > >Thanks! >Dan > > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ More photos, more messages, more storage?get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507 From adtp at hotmail.com Thu May 31 09:33:33 2007 From: adtp at hotmail.com (A.D.TEJPAL) Date: Thu, 31 May 2007 20:03:33 +0530 Subject: [AccessD] Go to today References: <29f585dd0705300818m592f6e3ue97118caf71963ee@mail.gmail.com> Message-ID: Arthur, Subroutine P_GoToNearestToToday(), as given below, can be placed in form's module and called as required. It will ensure that you land up at today's date or the next higher one if there is no entry for today's date. If there is no entry for date >= today, you will land up at the date earlier than but closest to today, which, in such a situation, will simply be the last record. Note: (a) RDate is the presumed name of date field. (b) It is presumed that dates are sorted in ascending order. Best wishes, A.D.Tejpal --------------- ==================================== Private Sub P_GoToNearestToToday() On Error Resume Next Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.FindFirst "RDate >= #" & _ Format(Date, "mm/dd/yyyy") & "#" If rst.NoMatch Then rst.MoveLast End If Me.Bookmark = rst.Bookmark rst.Close Set rst = Nothing End Sub ==================================== ----- Original Message ----- From: Arthur Fuller To: Access Developers discussion and problem solving Sent: Wednesday, May 30, 2007 20:48 Subject: [AccessD] Go to today It's been a while since I've done an Access FE and I'm rusty. Here's the situation. There's a table whose data includes stuff from a few years back and up to mid-next-year (events, already-occurred and scheduled to occur). I want to open the form on the closest date >= today. There is also a filter, by Employee. The form begins with all Employees but should you elect to set the filter, then it's scoped by selected Emp. But I still want the date thing to work. In the combo-box for Emp filter there's a union with an "All" case at the top, which choice simply wipes out the existing filter on Emps (if any). I do NOT want to filter out the events prior to today. I just want to open the form at today or the nearest date beyond today, and I also want to respect the Emp filter. Advice? TIA, Rusty old Arthur, who has been spending way too much time in SQL Server to remember all these fancy shenanigans. :) From cfoust at infostatsystems.com Thu May 31 09:54:16 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 07:54:16 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: <29f585dd0705301249t3196e782g97711bfcdd998737@mail.gmail.com> Message-ID: The move is toward managed code, meaning .Net, I think. There's a fairly steep learning curve there, but I think Access VBA users have an advantage in moving to .Net, especially if they have experience with ADO. *WARNING*: poorly designed data schemas are not improved by .Net. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte Sent: Wednesday, May 30, 2007 1:25 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Pardon my ignorance...but what does this mean for Access??? Almost everything I do in Access relies on VBA? Mark >From: "Arthur Fuller" >Reply-To: Access Developers discussion and problem >solving >To: "Access Developers discussion and problem >solving" >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >Date: Wed, 30 May 2007 15:49:51 -0400 > >That is most definitely a significant shoe. I'm glad that I started >looking elsewhere for income opportunities. > >A. > > >On 5/30/07, Ken Ismert wrote: > > > > > > The first shoe has dropped: Microsoft has abandoned VBA in its > > latest Office suite for the Macintosh: > > > > Mac Users Face Hurdles with New Office Versions > > >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > > > > Although there is a converter tool for older Office documents, with > > promises for VBA support in the future, Mac developers are > > encouraged to use Applescript instead. > > > > Access developers have to at least consider the possibility that > > Office > > 2007 will be the last version of Office that will natively run VBA. > > > > -Ken > > -- > > AccessD mailing list > > AccessD at databaseadvisors.com > > http://databaseadvisors.com/mailman/listinfo/accessd > > Website: http://www.databaseadvisors.com > > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Catch suspicious messages before you open them-with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migr ation_HM_mini_protection_0507 From cfoust at infostatsystems.com Thu May 31 09:59:57 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 07:59:57 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> References: <465DCD61.9030806@gmail.com><20070530193816.4F8C3BC67@smtp-auth.no-ip.com> <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: I think the simple answer is that all of us who are experienced with Office development have grown used to the somewhat standard menus in the various Office apps and find the ribbon downright frustrating and the so-called context-sensitivity infuriating. I particularly resent being coerced into using the darn thing with no choice in the matter. Like you, I've struggled to find the means to do simple things, not just in Access but in Word, for heaven's sake! I suspect they used a focus group of Mac users to decide which things belonged on which ribbon, because I always found the Mac OS just as frustrating, although newbies seem to find it intuitive, too. Maybe we're just getting old, Arthur ... Nah!! ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 > > Although there is a converter tool for older Office documents, with > promises for VBA support in the future, Mac developers are encouraged > to use Applescript instead. > > Access developers have to at least consider the possibility that > Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 10:07:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:07:54 -0700 Subject: [AccessD] Contact Database Design III. In-Reply-To: <000901c7a2fd$e116ec70$8abea8c0@XPS> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: You can always justify whatever design you use, Jim. I once had a boiling argument with a SQL guru at a conference because he insisted that social security numbers change so rarely they can be used as a PK. My argument was "rarely" is not the same as "never". His was "it's close enough". I always look at what I might need to do with the data. I worked for a direct marketing firm at one time and designed databases for them. They loved the speed and simplicity of flat database design they had been using, but their clients wanted all sorts of statistical reports that simply couldn't be extracted from the data except through laboriously mangling the data in Excel or importing it into an Access database and then building a normalized schema for reporting. They finally realized that the important thing was how quickly they could get the information OUT of the data, not how fast they could enter records. Disclaimer: your mileage may vary. ;-} Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 2:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From cfoust at infostatsystems.com Thu May 31 10:09:28 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:09:28 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <01fc01c7a300$493c8920$0f01a8c0@officexp> References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: Start thinking of Access as a middle tier or back end and look to .Net, Windows or Web-based, for an FE. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits Sent: Wednesday, May 30, 2007 2:20 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac "What you guys think is the number of years that it will take for the number of those actually using VBA to drop below 50% of the present count?" Based on the many legacy systems I see that still rely on the Dos operating systems, it will be a long time. Below 50%? 4-5 years. But, it all scares me a bit since Access as a front end and also VBA are my primary tools of development. Time to start changing careers? -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF Sent: Wednesday, May 30, 2007 4:05 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac MF ______________________________ At 04:38 PM 30/05/2007, you wrote: >Boy will there be a BUNCH of companies not upgrading beyond that! How many >apps are out there coded in vba? > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >Sent: Wednesday, May 30, 2007 3:16 PM >To: accessd at databaseadvisors.com >Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > >The first shoe has dropped: Microsoft has abandoned VBA in its latest Office >suite for the Macintosh: > >Mac Users Face Hurdles with New Office Versions >http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >R4 > >Although there is a converter tool for older Office documents, with promises >for VBA support in the future, Mac developers are encouraged to use >Applescript instead. > >Access developers have to at least consider the possibility that Office >2007 will be the last version of Office that will natively run VBA. > >-Ken -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 10:10:55 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 08:10:55 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> Message-ID: Hmmn ... And the ribbon is a move to make Office "more" user friendly and Mac-like. Sounds like an implication to me .... ;-> Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Wednesday, May 30, 2007 2:51 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting macros, not a development language supporting extensive database development ...so the opt-out in favor of Apple Script is really a move on their part to make MS Office/Mac "more" Mac friendly ...and has zero implications for the future of VBA on its own platform ...imnsho, of course. William Hindman ----- Original Message ----- From: "John Skolits" To: "'Access Developers discussion and problem solving'" Sent: Wednesday, May 30, 2007 5:20 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the > present count?" > > Based on the many legacy systems I see that still rely on the Dos > operating > systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my > primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S TR4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 kismert at gmail.com Thu May 31 11:19:13 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 31 May 2007 11:19:13 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465EF581.1030401@gmail.com> (Mark) > Pardon my ignorance...but what does this mean for Access??? > Almost everything I do in Access relies on VBA? Well, it means, sooner or later, that you will either have to content yourself with the dwindling VBA legacy market, learn the new languages and development platform that run under the new Access, or learn completely new skills and move to some other market. (Jim) > If not VBA, what will it run? I'm not sure that the article indicates > what everyone is thinking; that this is the end of VBA. It just says that > Microsoft doesn't want to support VBA on the Mac. The new Office, including Access, will run under .NET. MS has been pushing the .NET-based replacement for VBA for some time. This is also the main technical reason Applescript is being pushed for Mac Office: the .NET framework doesn't run on OS X. In the article, some Apple dude plainly states that MS will sunset VBA some years hence on Windows versions of Office. Now, that's not an official pronouncement, but it is worth noting. MS might delay the demise of VBA if they get significant pushback (but really, what are the chances of them listening to their base?), but with certainty, they will do away with VBA. I think most of us will wind up following Charlotte's path, and use .NET to develop db apps, with or without Access. I chose PHP/MySQL/Linux, mostly because that's where my job took me, and partly because I'm lazy and that stuff has a much lower learning curve. (Marty) > The "mummy's curse" that killed Lord Carnarvon during the > excavation of King Tut's tomb was actually a VBA script. That's hilarious! (Arthur) > I HATE this ribbon s**t. That ribbon is MS's 'New Coke': it is carefully user-tested, and ignores the desires and wishes of the vast bulk of their audience. Time will tell if it suffers the same fate as New Coke. -Ken From mmattys at rochester.rr.com Thu May 31 11:29:34 2007 From: mmattys at rochester.rr.com (Michael R Mattys) Date: Thu, 31 May 2007 12:29:34 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> Message-ID: <003801c7a3a0$e1409770$0602a8c0@Laptop> The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 12:00:38 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 10:00:38 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <003801c7a3a0$e1409770$0602a8c0@Laptop> References: <200705302002.l4UK2tJO016437@databaseadvisors.com><01fc01c7a300$493c8920$0f01a8c0@officexp> <003801c7a3a0$e1409770$0602a8c0@Laptop> Message-ID: I think they mean most of 2007. Access 2007 is still pretty much VBA-bound. The ribbon, etc., is customizable from code. I suspect they may be talking about the next releases. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 9:30 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S T >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 ewaldt at gdls.com Thu May 31 12:33:10 2007 From: ewaldt at gdls.com (ewaldt at gdls.com) Date: Thu, 31 May 2007 13:33:10 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems This is an e-mail from General Dynamics Land Systems. It is for the intended recipient only and may contain confidential and privileged information. No one else may read, print, store, copy, forward or act in reliance on it or its attachments. If you are not the intended recipient, please return this message to the sender and delete the message and any attachments from your computer. Your cooperation is appreciated. From ebarro at verizon.net Thu May 31 12:43:31 2007 From: ebarro at verizon.net (Eric Barro) Date: Thu, 31 May 2007 10:43:31 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: <0JIX00I2O2KGIK84@vms044.mailsrvcs.net> Everything will come under the .NET umbrella. M$ isn't abandoning their flagship programming language (VB) anytime soon. Since the .NET framework isn't supported on the Mac anyway it makes sense to drop VBA so people can transition to VB.NET. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of ewaldt at gdls.com Sent: Thursday, May 31, 2007 10:33 AM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Thu May 31 12:49:30 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 13:49:30 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) In-Reply-To: Message-ID: <20070531174931.C91E6BDE0@smtp-auth.no-ip.com> >if they drop VBA, Excel loses its edge. Not if: A) They include .net as an alternative B) The current VBA programmers migrate. VBA is a lot easier to use, especially since the editor is built right into the environment (Access / Excel / Word). I give MS credit for FINALLY pushing out DOS/Old windows compatibility decades after they finally quit producing those products. I think it is fair to assume that they will eventually do the same with VBA. They have given us programmers a fair amount of time to migrate. Many of us (myself included) still have not. Some people require a FIRM push to force us to change. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of ewaldt at gdls.com Sent: Thursday, May 31, 2007 1:33 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac (Ken Ismert) Re: VBA abandoned in Office 2008 for Mac (Ken Ismert) Of course, this is an Access list, but I develop in both Access and Excel, as do many on this list, and I must say that OpenOffice's spreadsheet program comes pretty close to Excel in capability, particularly since the vast majority of users don't touch the parts that Excel is superior in. The main difference is in programming; Excel is vastly superior there. OTOH, if they drop VBA, Excel loses its edge. Isn't this just too special. Thomas F. Ewald Stryker Mass Properties General Dynamics Land Systems From jwcolby at colbyconsulting.com Thu May 31 12:55:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 13:55:56 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: <20070531175559.982DCBD3A@smtp-auth.no-ip.com> Having a FK in the table for the type makes sense. Having a bit field seems rather limiting and harder to filter for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 5:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. Jim. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 31 13:31:59 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:31:59 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <003801c7a3a0$e1409770$0602a8c0@Laptop> References: <200705302002.l4UK2tJO016437@databaseadvisors.com> <01fc01c7a300$493c8920$0f01a8c0@officexp> <003801c7a3a0$e1409770$0602a8c0@Laptop> Message-ID: <005e01c7a3b1$fa55bbd0$8abea8c0@XPS> Hey, did you catch the title? Looks like you get to use Vista whether you like it or not.... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 12:30 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 Thu May 31 13:39:59 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:39:59 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: References: <000901c7a2fd$e116ec70$8abea8c0@XPS> Message-ID: <006501c7a3b3$18915680$8abea8c0@XPS> Charlotte, I was just surprised that a book about an RDBMS from a very well known author would have a sample database that most would call poor. The bit flags really threw me. I'd never use separate fields for something that should be in a single state. To easy for the flags to get screwed up. Mainly I thought this would be interesting to pass along as there seems to be quite a few different viewpoints on it. As for the design I'll be using; well it's myself and the client that has to live with it. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Thursday, May 31, 2007 11:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. You can always justify whatever design you use, Jim. I once had a boiling argument with a SQL guru at a conference because he insisted that social security numbers change so rarely they can be used as a PK. My argument was "rarely" is not the same as "never". His was "it's close enough". I always look at what I might need to do with the data. I worked for a direct marketing firm at one time and designed databases for them. They loved the speed and simplicity of flat database design they had been using, but their clients wanted all sorts of statistical reports that simply couldn't be extracted from the data except through laboriously mangling the data in Excel or importing it into an Access database and then building a normalized schema for reporting. They finally realized that the important thing was how quickly they could get the information OUT of the data, not how fast they could enter records. Disclaimer: your mileage may vary. ;-} Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 2:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. 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 jimdettman at verizon.net Thu May 31 13:41:33 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 14:41:33 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531175559.982DCBD3A@smtp-auth.no-ip.com> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> Message-ID: <006901c7a3b3$5087d0a0$8abea8c0@XPS> John, Yes, the bit field is what really threw me. I can't understand why it was not done as a single field. Seems to be a really poor design. I'd love to talk to him sometime about how and why it made it into the book that way. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Thursday, May 31, 2007 1:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Contact Database Design III. Having a FK in the table for the type makes sense. Having a bit field seems rather limiting and harder to filter for. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Wednesday, May 30, 2007 5:03 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Contact Database Design III. Hi All, Stumbled across something today that I thought I'd pass along in regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul Nielsen as one of my reference books sitting on the shelf. Happened to notice today one of the sample SQL databases included had a contacts table. Direct quote from a description of the database: "For simplicity, all contacts are merged into a single table and the contact type is signified by flags. A contact can be a customer, employee, or vendor. Customers have a lookup for customer type, which is referenced in determining the discount." Literally he has three bit flag fields in the record to indicate if it is a customer, employee, or vendor contact. It also includes name fields and a company name, so the contact can be a person, a company, or a person at a company. Suffice to say I was quite surprised to see this. BTW, I'm still going back and forth between doing a single table vs one for individuals and one for companies. Even before I had seen the above, I was leaning towards going back to a single table. I'll let you know what approach I finally choose when I get to it and any pitfalls that ensue as a result. 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 jwcolby at colbyconsulting.com Thu May 31 13:46:56 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 14:46:56 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <005e01c7a3b1$fa55bbd0$8abea8c0@XPS> Message-ID: <20070531184657.D0BB5BC02@smtp-auth.no-ip.com> And did you actually read that stuff? I have never seen so much text used to impart so little information. I'm assuming that you have to go to college for many years to learn to write such flowery gushing saynothing. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Thursday, May 31, 2007 2:32 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac Hey, did you catch the title? Looks like you get to use Vista whether you like it or not.... Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael R Mattys Sent: Thursday, May 31, 2007 12:30 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac The future ... http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx Visual Studio Tools for Office is now fully integrated into Visual Studio code name "Orcas" Professional Edition enables developers to customize any Office application, from Outlook to PowerPoint, to improve end user productivity and significantly improving deployment. I think they mean Office 2007, right? Michael R. Mattys MapPoint & Access Dev www.mattysconsulting.com ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:09 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Start thinking of Access as a middle tier or back end and look to .Net, > Windows or Web-based, for an FE. > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Skolits > Sent: Wednesday, May 30, 2007 2:20 PM > To: 'Access Developers discussion and problem solving' > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > "What you guys think is the number of years that it will take for the > number of those actually using VBA to drop below 50% of the present > count?" > > Based on the many legacy systems I see that still rely on the Dos > operating systems, it will be a long time. Below 50%? 4-5 years. > > But, it all scares me a bit since Access as a front end and also VBA are > my primary tools of development. Time to start changing careers? > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > Sent: Wednesday, May 30, 2007 4:05 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > MF > > > > ______________________________ > At 04:38 PM 30/05/2007, you wrote: >>Boy will there be a BUNCH of companies not upgrading beyond that! How > many >>apps are out there coded in vba? >> >> >>John W. Colby >>Colby Consulting >>www.ColbyConsulting.com >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>Sent: Wednesday, May 30, 2007 3:16 PM >>To: accessd at databaseadvisors.com >>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >>The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office >>suite for the Macintosh: >> >>Mac Users Face Hurdles with New Office Versions >>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007ST >>R4 >> >>Although there is a converter tool for older Office documents, with > promises >>for VBA support in the future, Mac developers are encouraged to use >>Applescript instead. >> >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >>-Ken > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 newsgrps at dalyn.co.nz Thu May 31 14:08:45 2007 From: newsgrps at dalyn.co.nz (David Emerson) Date: Fri, 01 Jun 2007 07:08:45 +1200 Subject: [AccessD] Contact Database Design III. In-Reply-To: <006901c7a3b3$5087d0a0$8abea8c0@XPS> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> <006901c7a3b3$5087d0a0$8abea8c0@XPS> Message-ID: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why it was >not done as a single field. Seems to be a really poor design. I'd love to >talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field seems >rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in regards >to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul >Nielsen as one of my reference books sitting on the shelf. Happened to >notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the contact >type is signified by flags. A contact can be a customer, employee, or >vendor. Customers have a lookup for customer type, which is referenced in >determining the discount." > > Literally he has three bit flag fields in the record to indicate if it is >a customer, employee, or vendor contact. It also includes name fields and a >company name, so the contact can be a person, a company, or a person at a >company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs one >for individuals and one for companies. Even before I had seen the above, I >was leaning towards going back to a single table. I'll let you know what >approach I finally choose when I get to it and any pitfalls that ensue as a >result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com From jimdettman at verizon.net Thu May 31 14:17:33 2007 From: jimdettman at verizon.net (Jim Dettman) Date: Thu, 31 May 2007 15:17:33 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> References: <000901c7a2fd$e116ec70$8abea8c0@XPS> <20070531175559.982DCBD3A@smtp-auth.no-ip.com> <006901c7a3b3$5087d0a0$8abea8c0@XPS> <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <008a01c7a3b8$57ea95d0$8abea8c0@XPS> David, Yes, that could certainly be an explanation. Unfortunately, there is no application provided that goes against this database, so there is no way to tell if that would be allowed or not. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Thursday, May 31, 2007 3:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why it was >not done as a single field. Seems to be a really poor design. I'd love to >talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field seems >rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in regards >to contacts. I have the book "Microsoft SQL Server 2000 Bible" by Paul >Nielsen as one of my reference books sitting on the shelf. Happened to >notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the contact >type is signified by flags. A contact can be a customer, employee, or >vendor. Customers have a lookup for customer type, which is referenced in >determining the discount." > > Literally he has three bit flag fields in the record to indicate if it is >a customer, employee, or vendor contact. It also includes name fields and a >company name, so the contact can be a person, a company, or a person at a >company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs one >for individuals and one for companies. Even before I had seen the above, I >was leaning towards going back to a single table. I'll let you know what >approach I finally choose when I get to it and any pitfalls that ensue as a >result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/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 miscellany at mvps.org Thu May 31 14:40:58 2007 From: miscellany at mvps.org (Steve Schapel) Date: Fri, 01 Jun 2007 07:40:58 +1200 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465DCD61.9030806@gmail.com> References: <465DCD61.9030806@gmail.com> Message-ID: <465F24CA.4010005@mvps.org> Ken, Ken Ismert wrote: > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. This is not even a remote possibility. I am certain that VBA will be alive and well in Access 14. Regards Steve From martyconnelly at shaw.ca Thu May 31 15:58:40 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 13:58:40 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <465F24CA.4010005@mvps.org> References: <465DCD61.9030806@gmail.com> <465F24CA.4010005@mvps.org> Message-ID: <465F3700.1060605@shaw.ca> There is no Access 13 due to Triskaidekaphobia However Clint Covington doesn't mention dropping VBA for version 14. He is periphally on the design team. https://blogs.msdn.com/clintcovington/archive/2007/01/23/what-features-do-you-want-in-access-14.aspx Steve Schapel wrote: >Ken, > >Ken Ismert wrote: > > >>Access developers have to at least consider the possibility that Office >>2007 will be the last version of Office that will natively run VBA. >> >> > >This is not even a remote possibility. I am certain that VBA will be >alive and well in Access 14. > >Regards >Steve > > -- Marty Connelly Victoria, B.C. Canada From rockysmolin at bchacc.com Thu May 31 17:36:04 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 15:36:04 -0700 Subject: [AccessD] FW: Removing quotes Message-ID: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky From ssharkins at setel.com Thu May 31 17:52:10 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 18:52:10 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> References: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Message-ID: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> Can't you delete the quotes in the original file? -- I'm trying to think of a Find Replace pattern that might work -- how about Space " And " space That would catch every " at the beginning of a word and after -- would help I would think. Might not get everything, but might get enough that you could visually catch the rest. Susan H. Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM From wdhindman at dejpolsystems.com Thu May 31 18:00:41 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 19:00:41 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> Message-ID: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> ...lol ...the "ribbon" is just plain dumb ...period. :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:10 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Hmmn ... And the ribbon is a move to make Office "more" user friendly > and Mac-like. Sounds like an implication to me .... ;-> > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > Hindman > Sent: Wednesday, May 30, 2007 2:51 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > macros, not a development language supporting extensive database > development ...so the opt-out in favor of Apple Script is really a move > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > implications for the future of VBA on its own platform ...imnsho, of > course. > > William Hindman > > ----- Original Message ----- > From: "John Skolits" > To: "'Access Developers discussion and problem solving'" > > Sent: Wednesday, May 30, 2007 5:20 PM > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > >> "What you guys think is the number of years that it will take for the >> number of those actually using VBA to drop below 50% of the >> present count?" >> >> Based on the many legacy systems I see that still rely on the Dos >> operating >> systems, it will be a long time. Below 50%? 4-5 years. >> >> But, it all scares me a bit since Access as a front end and also VBA > are >> my >> primary tools of development. Time to start changing careers? >> >> -----Original Message----- >> From: accessd-bounces at databaseadvisors.com >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >> Sent: Wednesday, May 30, 2007 4:05 PM >> To: Access Developers discussion and problem solving >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> MF >> >> >> >> ______________________________ >> At 04:38 PM 30/05/2007, you wrote: >>>Boy will there be a BUNCH of companies not upgrading beyond that! > How >> many >>>apps are out there coded in vba? >>> >>> >>>John W. Colby >>>Colby Consulting >>>www.ColbyConsulting.com >>>-----Original Message----- >>>From: accessd-bounces at databaseadvisors.com >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>>Sent: Wednesday, May 30, 2007 3:16 PM >>>To: accessd at databaseadvisors.com >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >>> >>> >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >> Office >>>suite for the Macintosh: >>> >>>Mac Users Face Hurdles with New Office Versions >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > TR4 >>> >>>Although there is a converter tool for older Office documents, with >> promises >>>for VBA support in the future, Mac developers are encouraged to use >>>Applescript instead. >>> >>>Access developers have to at least consider the possibility that > Office >>>2007 will be the last version of Office that will natively run VBA. >>> >>>-Ken >> >> >> -- >> AccessD mailing list >> AccessD at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 18:01:48 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 16:01:48 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> Message-ID: Can't argue with that, William. LOL Charlotte -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Hindman Sent: Thursday, May 31, 2007 4:01 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac ...lol ...the "ribbon" is just plain dumb ...period. :) William Hindman ----- Original Message ----- From: "Charlotte Foust" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 11:10 AM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > Hmmn ... And the ribbon is a move to make Office "more" user friendly > and Mac-like. Sounds like an implication to me .... ;-> > > Charlotte Foust > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > Hindman > Sent: Wednesday, May 30, 2007 2:51 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > macros, not a development language supporting extensive database > development ...so the opt-out in favor of Apple Script is really a move > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > implications for the future of VBA on its own platform ...imnsho, of > course. > > William Hindman From fuller.artful at gmail.com Thu May 31 18:09:03 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 31 May 2007 19:09:03 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> Message-ID: <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> I am not quite so hasty as you, William. I just wish that I could find the commands that I regularly use. I am most willing to accept that newbies think the ribbon is cool, but I just want to issue the familiar keystrokes and get where I want to go. I can't believe that I wasted an hour trying to deduce how to insert a row into a table. Who in the world woulda thunk that command would reside on the Format menu? What the hell does that have to do with format? I'm out of here soon, except for hobbyist reasons. I shall probably hang around for a few years, for hobbyist reasons. But I'm too old for this s**t anymore. A. On 5/31/07, William Hindman wrote: > > ...lol ...the "ribbon" is just plain dumb ...period. :) > William Hindman > ----- Original Message ----- > From: "Charlotte Foust" > To: "Access Developers discussion and problem solving" > > Sent: Thursday, May 31, 2007 11:10 AM > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > Hmmn ... And the ribbon is a move to make Office "more" user friendly > > and Mac-like. Sounds like an implication to me .... ;-> > > > > Charlotte Foust > > > > -----Original Message----- > > From: accessd-bounces at databaseadvisors.com > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William > > Hindman > > Sent: Wednesday, May 30, 2007 2:51 PM > > To: Access Developers discussion and problem solving > > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting > > macros, not a development language supporting extensive database > > development ...so the opt-out in favor of Apple Script is really a move > > on their part to make MS Office/Mac "more" Mac friendly ...and has zero > > implications for the future of VBA on its own platform ...imnsho, of > > course. > > > > William Hindman > > > > ----- Original Message ----- > > From: "John Skolits" > > To: "'Access Developers discussion and problem solving'" > > > > Sent: Wednesday, May 30, 2007 5:20 PM > > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > > >> "What you guys think is the number of years that it will take for the > >> number of those actually using VBA to drop below 50% of the > >> present count?" > >> > >> Based on the many legacy systems I see that still rely on the Dos > >> operating > >> systems, it will be a long time. Below 50%? 4-5 years. > >> > >> But, it all scares me a bit since Access as a front end and also VBA > > are > >> my > >> primary tools of development. Time to start changing careers? > >> > >> -----Original Message----- > >> From: accessd-bounces at databaseadvisors.com > >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF > >> Sent: Wednesday, May 30, 2007 4:05 PM > >> To: Access Developers discussion and problem solving > >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > >> > >> > >> MF > >> > >> > >> > >> ______________________________ > >> At 04:38 PM 30/05/2007, you wrote: > >>>Boy will there be a BUNCH of companies not upgrading beyond that! > > How > >> many > >>>apps are out there coded in vba? > >>> > >>> > >>>John W. Colby > >>>Colby Consulting > >>>www.ColbyConsulting.com > >>>-----Original Message----- > >>>From: accessd-bounces at databaseadvisors.com > >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > >>>Sent: Wednesday, May 30, 2007 3:16 PM > >>>To: accessd at databaseadvisors.com > >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac > >>> > >>> > >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest > >> Office > >>>suite for the Macintosh: > >>> > >>>Mac Users Face Hurdles with New Office Versions > >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S > > TR4 > >>> > >>>Although there is a converter tool for older Office documents, with > >> promises > >>>for VBA support in the future, Mac developers are encouraged to use > >>>Applescript instead. > >>> > >>>Access developers have to at least consider the possibility that > > Office > >>>2007 will be the last version of Office that will natively run VBA. > >>> > >>>-Ken > >> > >> > >> -- > >> AccessD mailing list > >> AccessD at databaseadvisors.com > >> http://databaseadvisors.com/mailman/listinfo/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 cfoust at infostatsystems.com Thu May 31 18:08:54 2007 From: cfoust at infostatsystems.com (Charlotte Foust) Date: Thu, 31 May 2007 16:08:54 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> References: <008501c7a3d4$12fcf370$0301a8c0@HAL9005> Message-ID: Import with no delimiters, than append to a new table or update but use the Mid function to get all but the first and last characters, which would be quotes. Then you can do a replace to replace all Chr(34) with chr(39). Alternatively, import it into a Word table first and do your search and replace there. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Thursday, May 31, 2007 3:36 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] FW: Removing quotes Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From wdhindman at dejpolsystems.com Thu May 31 18:30:52 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 19:30:52 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac References: <01fc01c7a300$493c8920$0f01a8c0@officexp><006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local><002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> Message-ID: <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> ...I am not at all "hasty" Arthur ...I too spent way too much time looking for the basics before it dawned on me that the ribbon "designers" were more interested in being "cool" than in being productive ...exit Access12 stage left ...right along with bloody Vista. ...afaic, Access12 is just continuing evidence that MS is congenitally incapable of producing sequential versions of Access that real developers actually adapt enmasse ...count me as patiently awaiting Access14, eh :) William Hindman ----- Original Message ----- From: "Arthur Fuller" To: "Access Developers discussion and problem solving" Sent: Thursday, May 31, 2007 7:09 PM Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >I am not quite so hasty as you, William. I just wish that I could find the > commands that I regularly use. I am most willing to accept that newbies > think the ribbon is cool, but I just want to issue the familiar keystrokes > and get where I want to go. > I can't believe that I wasted an hour trying to deduce how to insert a row > into a table. Who in the world woulda thunk that command would reside on > the > Format menu? What the hell does that have to do with format? > > I'm out of here soon, except for hobbyist reasons. I shall probably hang > around for a few years, for hobbyist reasons. But I'm too old for this > s**t > anymore. > > A. > > > On 5/31/07, William Hindman wrote: >> >> ...lol ...the "ribbon" is just plain dumb ...period. :) >> William Hindman >> ----- Original Message ----- >> From: "Charlotte Foust" >> To: "Access Developers discussion and problem solving" >> >> Sent: Thursday, May 31, 2007 11:10 AM >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> > Hmmn ... And the ribbon is a move to make Office "more" user friendly >> > and Mac-like. Sounds like an implication to me .... ;-> >> > >> > Charlotte Foust >> > >> > -----Original Message----- >> > From: accessd-bounces at databaseadvisors.com >> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William >> > Hindman >> > Sent: Wednesday, May 30, 2007 2:51 PM >> > To: Access Developers discussion and problem solving >> > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> > >> > ...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting >> > macros, not a development language supporting extensive database >> > development ...so the opt-out in favor of Apple Script is really a move >> > on their part to make MS Office/Mac "more" Mac friendly ...and has zero >> > implications for the future of VBA on its own platform ...imnsho, of >> > course. >> > >> > William Hindman >> > >> > ----- Original Message ----- >> > From: "John Skolits" >> > To: "'Access Developers discussion and problem solving'" >> > >> > Sent: Wednesday, May 30, 2007 5:20 PM >> > Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> > >> > >> >> "What you guys think is the number of years that it will take for the >> >> number of those actually using VBA to drop below 50% of the >> >> present count?" >> >> >> >> Based on the many legacy systems I see that still rely on the Dos >> >> operating >> >> systems, it will be a long time. Below 50%? 4-5 years. >> >> >> >> But, it all scares me a bit since Access as a front end and also VBA >> > are >> >> my >> >> primary tools of development. Time to start changing careers? >> >> >> >> -----Original Message----- >> >> From: accessd-bounces at databaseadvisors.com >> >> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >> >> Sent: Wednesday, May 30, 2007 4:05 PM >> >> To: Access Developers discussion and problem solving >> >> Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >> >> >> >> >> >> MF >> >> >> >> >> >> >> >> ______________________________ >> >> At 04:38 PM 30/05/2007, you wrote: >> >>>Boy will there be a BUNCH of companies not upgrading beyond that! >> > How >> >> many >> >>>apps are out there coded in vba? >> >>> >> >>> >> >>>John W. Colby >> >>>Colby Consulting >> >>>www.ColbyConsulting.com >> >>>-----Original Message----- >> >>>From: accessd-bounces at databaseadvisors.com >> >>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >> >>>Sent: Wednesday, May 30, 2007 3:16 PM >> >>>To: accessd at databaseadvisors.com >> >>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >> >>> >> >>> >> >>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >> >> Office >> >>>suite for the Macintosh: >> >>> >> >>>Mac Users Face Hurdles with New Office Versions >> >>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S >> > TR4 >> >>> >> >>>Although there is a converter tool for older Office documents, with >> >> promises >> >>>for VBA support in the future, Mac developers are encouraged to use >> >>>Applescript instead. >> >>> >> >>>Access developers have to at least consider the possibility that >> > Office >> >>>2007 will be the last version of Office that will natively run VBA. >> >>> >> >>>-Ken >> >> >> >> >> >> -- >> >> AccessD mailing list >> >> AccessD at databaseadvisors.com >> >> http://databaseadvisors.com/mailman/listinfo/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 rockysmolin at bchacc.com Thu May 31 18:38:21 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 16:38:21 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> Message-ID: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> This is a test file of 18k records. The final file will be over a million. And it's not a one shot. So I've got to find an automated solution. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Thursday, May 31, 2007 3:52 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] FW: Removing quotes Can't you delete the quotes in the original file? -- I'm trying to think of a Find Replace pattern that might work -- how about Space " And " space That would catch every " at the beginning of a word and after -- would help I would think. Might not get everything, but might get enough that you could visually catch the rest. Susan H. Dear List: A client has a large tab delimited file which I'm trying to import into an access table using the wizard. The text fields in the tab delimited file have quotes around them. Unfortunately the Description field has embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". So if I import with the quote as text qualifier any record with a quote in the description field is unparseable because there's an uneven number of quotes and all of the subsequence fields after the Description are dropped. If I import with no character as the text qualifier I get all the fields but all the text fields are surrounded by quotes. So I have to remove them. I'm thinking to do it with a couple update queries but there are about 140 fields so it would be awkward and a bit time consuming to structure and test the update queries. I'm thinking of doing it with a bit of code - cycle through the fields for each record and strip the quotes (also replace the quote that represents inches with 'in.') I think it would take an hour to do it in code. But is there any faster, easier, slicker way I'm overlooking? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.4/825 - Release Date: 5/30/2007 3:03 PM From rockysmolin at bchacc.com Thu May 31 18:41:15 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 16:41:15 -0700 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <001501c7a2ee$215a4a30$0200a8c0@danwaters> Message-ID: <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> NO Exchange server. Just little old me sending out emails to my prospects and customers generated by my home grown contact system. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 12:10 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM From ssharkins at setel.com Thu May 31 18:50:56 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 19:50:56 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne> <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> Message-ID: <000301c7a3de$892c7d90$33b62ad1@SusanOne> Well, you could do what accountants and IT professionals do -- demand they send it in the format you need. :) Make it someone else's problem. ;) Susan H. This is a test file of 18k records. The final file will be over a million. And it's not a one shot. So I've got to find an automated solution. From wdhindman at dejpolsystems.com Thu May 31 19:10:58 2007 From: wdhindman at dejpolsystems.com (William Hindman) Date: Thu, 31 May 2007 20:10:58 -0400 Subject: [AccessD] FW: Removing quotes References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne><008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> <000301c7a3de$892c7d90$33b62ad1@SusanOne> Message-ID: <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> ...lol ...another reason why our Susan makes her living as a freelance writer, not as a freelance developer :) William Hindman ----- Original Message ----- From: "Susan Harkins" To: "'Access Developers discussion and problem solving'" Sent: Thursday, May 31, 2007 7:50 PM Subject: Re: [AccessD] FW: Removing quotes > Well, you could do what accountants and IT professionals do -- demand they > send it in the format you need. :) Make it someone else's problem. ;) > > Susan H. > > This is a test file of 18k records. The final file will be over a > million. > And it's not a one shot. So I've got to find an automated solution. > > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From ssharkins at setel.com Thu May 31 19:20:41 2007 From: ssharkins at setel.com (Susan Harkins) Date: Thu, 31 May 2007 20:20:41 -0400 Subject: [AccessD] FW: Removing quotes In-Reply-To: <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> References: <000001c7a3d6$53c8b5e0$eb34fad1@SusanOne><008c01c7a3dc$c6a31e60$0301a8c0@HAL9005><000301c7a3de$892c7d90$33b62ad1@SusanOne> <005f01c7a3e1$5513ab70$7d7d6c4c@jisshowsbs.local> Message-ID: <000001c7a3e2$b148c0a0$a332fad1@SusanOne> Nobody should work harder than they really have to. ;) Susan H. ...lol ...another reason why our Susan makes her living as a freelance writer, not as a freelance developer :) William Hindman From martyconnelly at shaw.ca Thu May 31 19:36:05 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 17:36:05 -0700 Subject: [AccessD] Word/Access question In-Reply-To: <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> References: <29f585dd0705291653l27916a6bjed4f18f035add0a2@mail.gmail.com> <29f585dd0705300349t5ebbd454uf06120f4b56a4c@mail.gmail.com> Message-ID: <465F69F5.2040001@shaw.ca> You might want to keep this one in mind as a solution Google Gears. http://gears.google.com It was only released this week, so it's bleeding edge ;) Google announced yesterday a new developer tool called Google Gears that will allow Google and third-party developers to take their Web applications offline. No direct ODBC solution built yet. So no easy hook to SQL Server or Access. These are API's called from javascript There are three core modules provided by Gears: a LocalServer for storing and accessing application pages offline, a Database for storing and accessing application data on the user's computer, and a WorkerPool for performing long-running tasks (such as the code that synchronizes data between your server and users' computers). The database is SQLite. It's a flat-file relational database that is gaining some popularity. It's commonly toted as a good quick db for Rails development, if you don't want to have MYSQL running on your machine. http://code.google.com/apis/gears/ Arthur Fuller wrote: >An excellent point, Bryan. I too have been there and done that, and it leads >me to the conclusion that the remoters ought to have their own local copy >which is synchronized whenever they succeed in a connection. I am very well >acquainted with the replication technology, and I deem you correct: that is >the best alternative, given the flakiness of the satellite connections. > >This means I need to roll out an installation, and Sage is not within >budget. I have a vbScript which can do most if not all of it, so I guess I >will try that and see how it works. A test case or three, load and go, see >what happens. We are still in test phase, so no result can hurt the real >data. > >It's been a while since I did Access replication, but I know the turf pretty >well, so a couple of slaps in the face ought to remind me of everything I've >forgotten. :) > >A. > > >On 5/30/07, Bryan Carbonnell wrote: > > >>On 5/29/07, Arthur Fuller wrote: >> >> >>>Preface: there are no stupid questions, only stupid people. Sadly, I >>> >>> >>fall >> >> >>>into this category. >>> >>> >>Which category? Stupid questions? :) >> >> >> >>>1. a local FE installed on every remote, all of which point to the BE >>>available by satellite, if and when the technology is working. >>> >>> >>Apparently >> >> >>>this is intermittent. I know nothing about this part of the app. >>> >>> >>What if the sat link drops while the user is in the DB? Isn't that a >>really good way to corrupt the BE? >> >> >> >>>2. In the event that the satellite connection is unavailable, it has >>> >>> >>been >> >> >>>mandated that the remote user should be able to fill in a Word form and >>>email that. (Precisely how I am to handle said emails and integrate them >>>into the system has been conveniently overlooked, but like George >>> >>> >>Smiley, I >> >> >>>plod on.) >>> >>> >>Have a look at >>http://www.databaseadvisors.com/newsletters/newsletter112003/0311RemoteDataCollection.asp >> >>That should give you most of what you need to get going in this >>regard. If not, just ask. I've been doing Remote data collection with >>Word for about 8 years. >> >> >> >>>3. In the absence of a reliable connection to HQ, then I don't see how >>> >>> >>this >> >> >>>can work without a local copy of the DB. I am certainly not against >>> >>> >>that, >> >> >>>but it drags in the replication technology -- which I have used and >>> >>> >>love, >> >> >>>but it costs hours to set up and every time I mention hours Client says >>>"Cheaper", and when I mention "Cheap" Client says "Not enough >>>functionality", or something like that. >>> >>> >>Good. Cheap. Fast. Give 'em the options and let 'em pick 2. >> >> -- Marty Connelly Victoria, B.C. Canada From martyconnelly at shaw.ca Thu May 31 19:58:29 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 17:58:29 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> References: <01fc01c7a300$493c8920$0f01a8c0@officexp> <006501c7a304$8dfb6cd0$7d7d6c4c@jisshowsbs.local> <002301c7a3d7$839b2ef0$7d7d6c4c@jisshowsbs.local> <29f585dd0705311609k5ec3003cnf5cb0ab3bb3d34f9@mail.gmail.com> <004301c7a3db$bb651e00$7d7d6c4c@jisshowsbs.local> Message-ID: <465F6F35.9080405@shaw.ca> Since all the ribbon code or placement is stored as xml I just wonder if this was done to enable accdb xml templates It would also make it compatible with similar xml storage methods for Word and Excel 2007. There are $30 addins vailable that allow you to revert back to Access 2003 or any Office 2003 product menu styles. But that doesn't help in coding ribbons. William Hindman wrote: >...I am not at all "hasty" Arthur ...I too spent way too much time looking >for the basics before it dawned on me that the ribbon "designers" were more >interested in being "cool" than in being productive ...exit Access12 stage >left ...right along with bloody Vista. > >...afaic, Access12 is just continuing evidence that MS is congenitally >incapable of producing sequential versions of Access that real developers >actually adapt enmasse ...count me as patiently awaiting Access14, eh :) > >William Hindman > >----- Original Message ----- >From: "Arthur Fuller" >To: "Access Developers discussion and problem solving" > >Sent: Thursday, May 31, 2007 7:09 PM >Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac > > > > >>I am not quite so hasty as you, William. I just wish that I could find the >>commands that I regularly use. I am most willing to accept that newbies >>think the ribbon is cool, but I just want to issue the familiar keystrokes >>and get where I want to go. >>I can't believe that I wasted an hour trying to deduce how to insert a row >>into a table. Who in the world woulda thunk that command would reside on >>the >>Format menu? What the hell does that have to do with format? >> >>I'm out of here soon, except for hobbyist reasons. I shall probably hang >>around for a few years, for hobbyist reasons. But I'm too old for this >>s**t >>anymore. >> >>A. >> >> >>On 5/31/07, William Hindman wrote: >> >> >>>...lol ...the "ribbon" is just plain dumb ...period. :) >>>William Hindman >>>----- Original Message ----- >>>From: "Charlotte Foust" >>>To: "Access Developers discussion and problem solving" >>> >>>Sent: Thursday, May 31, 2007 11:10 AM >>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>> >>> >>> >>> >>>>Hmmn ... And the ribbon is a move to make Office "more" user friendly >>>>and Mac-like. Sounds like an implication to me .... ;-> >>>> >>>>Charlotte Foust >>>> >>>>-----Original Message----- >>>>From: accessd-bounces at databaseadvisors.com >>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William >>>>Hindman >>>>Sent: Wednesday, May 30, 2007 2:51 PM >>>>To: Access Developers discussion and problem solving >>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>> >>>>...Mac/Office VBA is only a shadow of Win/Office VBA ...think scripting >>>>macros, not a development language supporting extensive database >>>>development ...so the opt-out in favor of Apple Script is really a move >>>>on their part to make MS Office/Mac "more" Mac friendly ...and has zero >>>>implications for the future of VBA on its own platform ...imnsho, of >>>>course. >>>> >>>>William Hindman >>>> >>>>----- Original Message ----- >>>>From: "John Skolits" >>>>To: "'Access Developers discussion and problem solving'" >>>> >>>>Sent: Wednesday, May 30, 2007 5:20 PM >>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>> >>>> >>>> >>>> >>>>>"What you guys think is the number of years that it will take for the >>>>>number of those actually using VBA to drop below 50% of the >>>>>present count?" >>>>> >>>>>Based on the many legacy systems I see that still rely on the Dos >>>>>operating >>>>>systems, it will be a long time. Below 50%? 4-5 years. >>>>> >>>>>But, it all scares me a bit since Access as a front end and also VBA >>>>> >>>>> >>>>are >>>> >>>> >>>>>my >>>>>primary tools of development. Time to start changing careers? >>>>> >>>>>-----Original Message----- >>>>>From: accessd-bounces at databaseadvisors.com >>>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MF >>>>>Sent: Wednesday, May 30, 2007 4:05 PM >>>>>To: Access Developers discussion and problem solving >>>>>Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac >>>>> >>>>> >>>>>MF >>>>> >>>>> >>>>> >>>>>______________________________ >>>>>At 04:38 PM 30/05/2007, you wrote: >>>>> >>>>> >>>>>>Boy will there be a BUNCH of companies not upgrading beyond that! >>>>>> >>>>>> >>>>How >>>> >>>> >>>>>many >>>>> >>>>> >>>>>>apps are out there coded in vba? >>>>>> >>>>>> >>>>>>John W. Colby >>>>>>Colby Consulting >>>>>>www.ColbyConsulting.com >>>>>>-----Original Message----- >>>>>>From: accessd-bounces at databaseadvisors.com >>>>>>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert >>>>>>Sent: Wednesday, May 30, 2007 3:16 PM >>>>>>To: accessd at databaseadvisors.com >>>>>>Subject: [AccessD] VBA abandoned in Office 2008 for Mac >>>>>> >>>>>> >>>>>>The first shoe has dropped: Microsoft has abandoned VBA in its latest >>>>>> >>>>>> >>>>>Office >>>>> >>>>> >>>>>>suite for the Macintosh: >>>>>> >>>>>>Mac Users Face Hurdles with New Office Versions >>>>>>http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007S >>>>>> >>>>>> >>>>TR4 >>>> >>>> >>>>>>Although there is a converter tool for older Office documents, with >>>>>> >>>>>> >>>>>promises >>>>> >>>>> >>>>>>for VBA support in the future, Mac developers are encouraged to use >>>>>>Applescript instead. >>>>>> >>>>>>Access developers have to at least consider the possibility that >>>>>> >>>>>> >>>>Office >>>> >>>> >>>>>>2007 will be the last version of Office that will natively run VBA. >>>>>> >>>>>>-Ken >>>>>> >>>>>> >>>>>-- >>>>>AccessD mailing list >>>>>AccessD at databaseadvisors.com >>>>>http://databaseadvisors.com/mailman/listinfo/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 >> >> >> > > > > > -- Marty Connelly Victoria, B.C. Canada From dwaters at usinternet.com Thu May 31 20:08:01 2007 From: dwaters at usinternet.com (Dan Waters) Date: Thu, 31 May 2007 20:08:01 -0500 Subject: [AccessD] Outlook - Allow Access In-Reply-To: <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> References: <001501c7a2ee$215a4a30$0200a8c0@danwaters> <008d01c7a3dd$2e43e590$0301a8c0@HAL9005> Message-ID: <004d01c7a3e9$4d0ec6f0$0200a8c0@danwaters> Hi Rocky, Well, at two customers I use a free product called vbSendMail. This bypasses Outlook altogether. Has a very good Help manual! It's free, and can be found at http://www.freevbcode.com/ShowCode.Asp?ID=109. Best of Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Thursday, May 31, 2007 6:41 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access NO Exchange server. Just little old me sending out emails to my prospects and customers generated by my home grown contact system. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 12:10 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Outlook - Allow Access Hi Rocky, If you're using an Exchange server with Outlook clients, there is a way for the Exchange administrator to turn off those messages. I haven't done it, by the IT folks at my last company did. That was about 5 yrs ago. Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, May 30, 2007 9:49 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Outlook - Allow Access Dear List: A while back I ran into the problem of automating Outlook from Access and getting the Outlook message about allowing the program access to Outlook for a certain number of minutes. I found a program on the web which disabled this message but I can't find the program or the link. I think I may have gotten the lead from this list but the archives are down so I can't check. Does anyone remember the name of that routine? MTIA Rocky -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.3/824 - Release Date: 5/29/2007 1:01 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From martyconnelly at shaw.ca Thu May 31 20:24:43 2007 From: martyconnelly at shaw.ca (MartyConnelly) Date: Thu, 31 May 2007 18:24:43 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> References: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> Message-ID: <465F755B.40009@shaw.ca> If you have a windows version of Perl Here's a Perl script to convert CSV to pipe-delimited text strings, then change text delimiter in import wizard to pipe symbol "|" Might work #csvtab.pl #Perl script to convert quote-delimited CSV files #to undelimited pipe-separated files. #Syntax: # perl csvtab.pl inputfile.txt > outputfile.txt use strict; use Text::ParseWords; my @line; while (<>) { @line = parse_line ",", 1, $_; map { s/^\"//; s/\"$// } @line; print join "|", @line ; } Rocky Smolin at Beach Access Software wrote: >This is a test file of 18k records. The final file will be over a million. >And it's not a one shot. So I've got to find an automated solution. > >Rocky > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins >Sent: Thursday, May 31, 2007 3:52 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FW: Removing quotes > >Can't you delete the quotes in the original file? -- I'm trying to think of >a Find Replace pattern that might work -- how about > >Space " > >And > >" space > >That would catch every " at the beginning of a word and after -- would help >I would think. Might not get everything, but might get enough that you could >visually catch the rest. > >Susan H. > >Dear List: > >A client has a large tab delimited file which I'm trying to import into an >access table using the wizard. The text fields in the tab delimited file >have quotes around them. Unfortunately the Description field has embedded >quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". > >So if I import with the quote as text qualifier any record with a quote in >the description field is unparseable because there's an uneven number of >quotes and all of the subsequence fields after the Description are dropped. > >If I import with no character as the text qualifier I get all the fields but >all the text fields are surrounded by quotes. So I have to remove them. > >I'm thinking to do it with a couple update queries but there are about 140 >fields so it would be awkward and a bit time consuming to structure and test >the update queries. > >I'm thinking of doing it with a bit of code - cycle through the fields for >each record and strip the quotes (also replace the quote that represents >inches with 'in.') > >I think it would take an hour to do it in code. But is there any faster, >easier, slicker way I'm overlooking? > >MTIA > >Rocky > > -- Marty Connelly Victoria, B.C. Canada From jwcolby at colbyconsulting.com Thu May 31 21:14:54 2007 From: jwcolby at colbyconsulting.com (jwcolby) Date: Thu, 31 May 2007 22:14:54 -0400 Subject: [AccessD] Contact Database Design III. In-Reply-To: <20070531190834.MJKR7040.fep05.xtra.co.nz@Dalyn.dalyn.co.nz> Message-ID: <20070601021455.3B091BCD8@smtp-auth.no-ip.com> >Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). No, it would need a m-m between contact and type so that the same contact can be as many different types as needed. And the reason it got in the book that way is that it makes it simple enough for Joe average user to understand. The focus was apparently not correct normalization but something else. I actually built my LightWeight Security around a 32 bit (actually 31 bit) word (long int in VBA) to represent user groups. I did it that way because the whole thing revolved around classes which loaded and cached this stuff and then the classes interpreted everything in code. I don't care (in my code) what a given bit represents, it is just "some group". I made an executive decision that for my use, 31 groups was sufficient. Perhaps this author has a similar "executive decision". John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of David Emerson Sent: Thursday, May 31, 2007 3:09 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Contact Database Design III. Could it be that by using the bit fields the same contact could be noted as customer and employee. If a single type field was used then the person would need to be entered twice (once for each type). David At 1/06/2007, you wrote: >John, > > Yes, the bit field is what really threw me. I can't understand why >it was not done as a single field. Seems to be a really poor design. >I'd love to talk to him sometime about how and why it made it into the book that way. > >Jim. > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby >Sent: Thursday, May 31, 2007 1:56 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] Contact Database Design III. > >Having a FK in the table for the type makes sense. Having a bit field >seems rather limiting and harder to filter for. > > >John W. Colby >Colby Consulting >www.ColbyConsulting.com >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman >Sent: Wednesday, May 30, 2007 5:03 PM >To: 'Access Developers discussion and problem solving' >Subject: [AccessD] Contact Database Design III. > >Hi All, > > Stumbled across something today that I thought I'd pass along in >regards to contacts. I have the book "Microsoft SQL Server 2000 Bible" >by Paul Nielsen as one of my reference books sitting on the shelf. >Happened to notice today one of the sample SQL databases included had a contacts table. >Direct quote from a description of the database: > >"For simplicity, all contacts are merged into a single table and the >contact type is signified by flags. A contact can be a customer, >employee, or vendor. Customers have a lookup for customer type, which >is referenced in determining the discount." > > Literally he has three bit flag fields in the record to indicate if >it is a customer, employee, or vendor contact. It also includes name >fields and a company name, so the contact can be a person, a company, >or a person at a company. > > Suffice to say I was quite surprised to see this. > > BTW, I'm still going back and forth between doing a single table vs >one for individuals and one for companies. Even before I had seen the >above, I was leaning towards going back to a single table. I'll let >you know what approach I finally choose when I get to it and any >pitfalls that ensue as a result. > >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 > >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/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 dwaters at usinternet.com Thu May 31 21:20:44 2007 From: dwaters at usinternet.com (Dan Waters) Date: Thu, 31 May 2007 21:20:44 -0500 Subject: [AccessD] Get Database Size in Code? In-Reply-To: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> References: <001001c7a326$e9d0d2d0$0200a8c0@danwaters> Message-ID: <004e01c7a3f3$75aa1650$0200a8c0@danwaters> Lonnie & Mark - Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, May 30, 2007 8:57 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Get Database Size in Code? Is there code whereby an Access db can determine what its own size is? Thanks! Dan -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com From jedi at charm.net Thu May 31 21:30:27 2007 From: jedi at charm.net (Michael Bahr) Date: Thu, 31 May 2007 22:30:27 -0400 (EDT) Subject: [AccessD] FW: Removing quotes In-Reply-To: <465F755B.40009@shaw.ca> References: <008c01c7a3dc$c6a31e60$0301a8c0@HAL9005> <465F755B.40009@shaw.ca> Message-ID: <1779.24.35.45.228.1180665027.squirrel@mail.expedient.net> Nice about about Perl or any other "higher level language" is that there is always more than one way to get the same result. Another way to accomplish this would be to split on the tab delimiters and evaluate each item using a regular expression and then rejoin. Or globally substitute the | for all tabs (^t) and perform the regular expression on the quotes. For doing intermediate processing on text files using Perl or Tcl are great tools plus they are open-source and free. Mike... be using split and creating a regular-expression > If you have a windows version of Perl > > Here's a Perl script to convert CSV to > pipe-delimited text strings, then change text delimiter > in import wizard to pipe symbol "|" > > Might work > > #csvtab.pl > #Perl script to convert quote-delimited CSV files > #to undelimited pipe-separated files. > #Syntax: > # perl csvtab.pl inputfile.txt > outputfile.txt > > use strict; > use Text::ParseWords; > my @line; > > while (<>) { > @line = parse_line ",", 1, $_; > map { s/^\"//; s/\"$// } @line; > print join "|", @line ; > > } > > > > > Rocky Smolin at Beach Access Software wrote: > >>This is a test file of 18k records. The final file will be over a >> million. >>And it's not a one shot. So I've got to find an automated solution. >> >>Rocky >> >> >> >> >> >> >>-----Original Message----- >>From: accessd-bounces at databaseadvisors.com >>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins >>Sent: Thursday, May 31, 2007 3:52 PM >>To: 'Access Developers discussion and problem solving' >>Subject: Re: [AccessD] FW: Removing quotes >> >>Can't you delete the quotes in the original file? -- I'm trying to think >> of >>a Find Replace pattern that might work -- how about >> >>Space " >> >>And >> >>" space >> >>That would catch every " at the beginning of a word and after -- would >> help >>I would think. Might not get everything, but might get enough that you >> could >>visually catch the rest. >> >>Susan H. >> >>Dear List: >> >>A client has a large tab delimited file which I'm trying to import into >> an >>access table using the wizard. The text fields in the tab delimited file >>have quotes around them. Unfortunately the Description field has >> embedded >>quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". >> >>So if I import with the quote as text qualifier any record with a quote >> in >>the description field is unparseable because there's an uneven number of >>quotes and all of the subsequence fields after the Description are >> dropped. >> >>If I import with no character as the text qualifier I get all the fields >> but >>all the text fields are surrounded by quotes. So I have to remove them. >> >>I'm thinking to do it with a couple update queries but there are about >> 140 >>fields so it would be awkward and a bit time consuming to structure and >> test >>the update queries. >> >>I'm thinking of doing it with a bit of code - cycle through the fields >> for >>each record and strip the quotes (also replace the quote that represents >>inches with 'in.') >> >>I think it would take an hour to do it in code. But is there any faster, >>easier, slicker way I'm overlooking? >> >>MTIA >> >>Rocky >> >> > > -- > Marty Connelly > Victoria, B.C. > Canada > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > From rockysmolin at bchacc.com Thu May 31 22:31:56 2007 From: rockysmolin at bchacc.com (Rocky Smolin at Beach Access Software) Date: Thu, 31 May 2007 20:31:56 -0700 Subject: [AccessD] FW: Removing quotes In-Reply-To: <465F755B.40009@shaw.ca> Message-ID: <009101c7a3fd$67c0cb10$0301a8c0@HAL9005> No Perl here. Anyway, it's tab delimited. I think I'll get up early and write some code. Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Thursday, May 31, 2007 6:25 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] FW: Removing quotes If you have a windows version of Perl Here's a Perl script to convert CSV to pipe-delimited text strings, then change text delimiter in import wizard to pipe symbol "|" Might work #csvtab.pl #Perl script to convert quote-delimited CSV files #to undelimited pipe-separated files. #Syntax: # perl csvtab.pl inputfile.txt > outputfile.txt use strict; use Text::ParseWords; my @line; while (<>) { @line = parse_line ",", 1, $_; map { s/^\"//; s/\"$// } @line; print join "|", @line ; } Rocky Smolin at Beach Access Software wrote: >This is a test file of 18k records. The final file will be over a million. >And it's not a one shot. So I've got to find an automated solution. > >Rocky > > > > > > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan >Harkins >Sent: Thursday, May 31, 2007 3:52 PM >To: 'Access Developers discussion and problem solving' >Subject: Re: [AccessD] FW: Removing quotes > >Can't you delete the quotes in the original file? -- I'm trying to >think of a Find Replace pattern that might work -- how about > >Space " > >And > >" space > >That would catch every " at the beginning of a word and after -- would >help I would think. Might not get everything, but might get enough that >you could visually catch the rest. > >Susan H. > >Dear List: > >A client has a large tab delimited file which I'm trying to import into >an access table using the wizard. The text fields in the tab delimited >file have quotes around them. Unfortunately the Description field has >embedded quotes for descriptions with lengths - i.e. "Suture 3 1/2" ". > >So if I import with the quote as text qualifier any record with a quote >in the description field is unparseable because there's an uneven >number of quotes and all of the subsequence fields after the Description are dropped. > >If I import with no character as the text qualifier I get all the >fields but all the text fields are surrounded by quotes. So I have to remove them. > >I'm thinking to do it with a couple update queries but there are about >140 fields so it would be awkward and a bit time consuming to structure >and test the update queries. > >I'm thinking of doing it with a bit of code - cycle through the fields >for each record and strip the quotes (also replace the quote that >represents inches with 'in.') > >I think it would take an hour to do it in code. But is there any >faster, easier, slicker way I'm overlooking? > >MTIA > >Rocky > > -- Marty Connelly Victoria, B.C. Canada -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.8.5/826 - Release Date: 5/31/2007 4:51 PM From accessd at shaw.ca Thu May 31 22:45:20 2007 From: accessd at shaw.ca (Jim Lawrence) Date: Thu, 31 May 2007 20:45:20 -0700 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> Message-ID: <0JIX007EOU74U2O0@l-daemon> Now that is what I call a decent rant. Excellent work Arthur. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, May 30, 2007 1:16 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] VBA abandoned in Office 2008 for Mac I wonder how many users are revolting against (revolted by) the Ribbon thing? What I can say is that it took about 15 minutes for me to find the most basic commands in Word. I HATE this ribbon s**t. At the very least, Office ought to recognize the keystrokes we seasoned folk have learned eons ago. For example, Alt+T = Table. Why do I have to fart around and look for these commands, when MS itself has schooled me into thinking this or that keystroke is the way to get there? Apparently, newbies like this ribbon s**t. Great. In a few more months I'll be eligible for retirement and then Kiss This, Bill! I'd rather watch Nadal try to come up with something to beat Fedderer. Earth to MS: Ribbons SUCK! Six months and I'm gone except for hobbyist play. The person who thought of ribbons will surely go down the same flush as the person who thought of the stupid little doggie helper. Sheesh. I feel sorry for that person. Probably just did what he was told, ended up the most despised programmer in the history of Windows. However, perhaps the inventor of ribbons will take his place as the most despised programmer in the history of Windows. I could be quite wrong about this. I have heard more than one newbie say how cool this ribbon thing is. Commands that have been available since God Knows When are now right there on the ribbon. Yeah, great. Meanwhile it took me half an hour to deduce how to insert a row into a table. Why in the name of God is this command on the Format menu? Which particular Redmond Einstein thought to place this command there? What does "Insert a row into a table" have even remotely to do with "Format"? There are clearly lots of brain-dead people in the state of Washington. The one who thought to place that command there, the boss who authorized it, and so on up the chain of command. Perhaps there has been an influx of cocaine or some other mind-altering drug into Redmond. Let us be fair. If anything, I try to be democratic. Let's start with the traditional menu plus all the ribbon stuff. Let's allow the use to suppress either of these. Let's respect, even in the event that you suppress the traditional menu, all those keystrokes (Ctrl+N= New File, Ctrl+S = Save, etc.) So let's call spades spades: Office 2007 sucks. Vista sucks. I have the former installed but shall remove it this weekend. Fortunately I had the foresight to save nothing on O2K7 format, so when I remove it I will still be able to read all the files. I have yet to hear one positive experience from a Vista user. Apparently it's like a cyber-BDSM-place. Lots of handcuffs and zero freedom. Unceremoniously quits should you try anything like backing up a DVD movie. As for me, I have had quite enough of this s**t from Redmond. I'm out of the MS loop. Open Office and Google Apps do most everything I need. Open Office's Base is pretty close to Access, though not quite there. Ubuntu is way nicer than Vista, and it runs on some of my admittedly lame hardware. Earth to Redmond: you are running out of reasons for us to stick around. A. On 5/30/07, jwcolby wrote: > > Boy will there be a BUNCH of companies not upgrading beyond that! How > many > apps are out there coded in vba? > > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Ken Ismert > Sent: Wednesday, May 30, 2007 3:16 PM > To: accessd at databaseadvisors.com > Subject: [AccessD] VBA abandoned in Office 2008 for Mac > > > The first shoe has dropped: Microsoft has abandoned VBA in its latest > Office > suite for the Macintosh: > > Mac Users Face Hurdles with New Office Versions > http://www.eweek.com/article2/0,1895,2138349,00.asp?kc=EWKNLINF053007STR4 > > Although there is a converter tool for older Office documents, with > promises > for VBA support in the future, Mac developers are encouraged to use > Applescript instead. > > Access developers have to at least consider the possibility that Office > 2007 will be the last version of Office that will natively run VBA. > > -Ken > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/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 May 31 22:59:36 2007 From: fuller.artful at gmail.com (Arthur Fuller) Date: Thu, 31 May 2007 23:59:36 -0400 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: <0JIX007EOU74U2O0@l-daemon> References: <29f585dd0705301315w1867b033qad09e0d355654ba@mail.gmail.com> <0JIX007EOU74U2O0@l-daemon> Message-ID: <29f585dd0705312059p3d8113e1h4ebef83fb4f63a68@mail.gmail.com> Thanks, Jim. But upon rereading it I think I did prattle on a tad too much. On 5/31/07, Jim Lawrence wrote: > > Now that is what I call a decent rant. Excellent work Arthur. > > Jim > From kismert at gmail.com Thu May 31 23:59:15 2007 From: kismert at gmail.com (Ken Ismert) Date: Thu, 31 May 2007 23:59:15 -0500 Subject: [AccessD] VBA abandoned in Office 2008 for Mac In-Reply-To: References: Message-ID: <465FA7A3.5090301@gmail.com> Eric, Steve, Marty, (Steve) > ... I am certain that VBA will be alive and well in Access 14 ... (Marty) > ... However Clint Covington doesn't mention dropping VBA for version 14 ... Clint Covington was asked this point blank by a reader in this post: Reader question about macros and VBA: https://blogs.msdn.com/clintcovington/archive/2007/04/21/reader-question-about-macros-and-vba.aspx No answer was given. This is not surprising, given this article: Microsoft Not Discussing Windows 7, Office 14: http://www.betanews.com/article/Microsoft_Not_Discussing_Windows_7_Office_14/1171589364 However, VSTA appears to be the .NET VBA replacement: The future of VBA looks a lot like VSTA. Or does it? http://blogs.officezealot.com/hansen/archive/2007/04/12/20245.aspx It seems clear Visual Studio Tools for Office is the future in Office development. Steve Hansen's Office Zealot blog is an excellent resource for VSTO: http://blogs.officezealot.com/hansen/default.aspx For those wanting to migrate from VBA to VSTO, Office Zealot is a super starting point: http://blogs.officezealot.com/ Conclusion: In all my searching, I haven't found one source that refutes my position that VBA might go away in Office 14. But, I haven't found any sources that support your position, either. So, here's where I will let it rest: find one credible source that says VBA WILL BE NATIVELY supported in Office 14/2009, and I will consider the argument closed. -Ken