[AccessD] FW: Removing quotes

Charlotte Foust cfoust at infostatsystems.com
Fri Jun 1 09:57:05 CDT 2007


However, the .Net learning curve took months!! LOL

Charlotte  

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Friday, June 01, 2007 7:40 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] FW: Removing quotes

Rocky,

If speed is a real concern, switch to vb.net.  You will get about a 10X
improvement in speed.  I am dealing with 10s of millions of records with
> 100 fields and the switch dropped my processing from days to hours. 


John 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: Friday, June 01, 2007 10:23 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] FW: Removing quotes

Dear list:

In case anyone might find it useful, here are the three routines I wrote
to clean the quotes from the db.  

The first routine strips the quotes from the field names which came in
quote delimited from the import wizard. 

Private Sub cmdStripQuotes_Click() strips the leading and trailing
quotes from any field that has them.  

Finally, Private Sub cmdReplaceQuoteWithIn_Click() replaces all
occurrences of quotes with 'in.' in the description field.

Any suggestions for refinements welcome.  The routines work but could
probably be optimized.  The table had 18,000+ records for a test, but
the real data will have hundreds of thousands so quicker is better.


BTW the table contains 104 fields.

Thanks and happy Friday,

Rocky



Option Compare Database
Option Explicit

Dim db As DAO.Database
Dim rsIn As DAO.Recordset

Dim fld As DAO.Field

Dim tdf As DAO.TableDef

Dim obj As Object

Dim intI As Integer

Dim lngRecNum As Long

Private Sub cmdChangeFieldNames_Click()

Set db = CurrentDb
Set tdf = db.TableDefs("tblPOLINEAPR2007")

For Each obj In tdf.Fields

    If Left(obj.Name, 1) = """" Then
        'MsgBox obj.Name & " - *" & Mid(obj.Name, 2, Len(obj.Name) - 2)
& "*"
        obj.Name = Mid(obj.Name, 2, Len(obj.Name) - 2)
    
    Else
        'MsgBox obj.Name & " No quotes "
    End If
    
Next obj

db.Close

Set tdf = Nothing
Set db = Nothing

End Sub

Private Sub cmdReplaceQuoteWithIn_Click()

Set db = CurrentDb
Set rsIn = db.OpenRecordset("Select * FROM tblPOLINEAPR2007")

rsIn.MoveLast
Me.txtNumRecs = rsIn.RecordCount
rsIn.MoveFirst

lngRecNum = 0

Do While Not rsIn.EOF
    
    lngRecNum = lngRecNum + 1
    If lngRecNum / 1000 = Int(lngRecNum / 1000) Then
        Me.txtRecNum = lngRecNum
        Me.Repaint
    End If
    
    If InStr(1, rsIn!Description, """") <> 0 Then
        rsIn.Edit
        rsIn!Description = rsIn!Description & vbCrLf &
Replace(rsIn!Description, """", " in. ")
        rsIn.Update
    End If
    
    rsIn.MoveNext

Loop

MsgBox "Done"

rsIn.Close
Set rsIn = Nothing
db.Close
Set db = Nothing

End Sub

Private Sub cmdStripQuotes_Click()

Set db = CurrentDb
Set rsIn = db.OpenRecordset("Select * FROM tblPOLINEAPR2007")

rsIn.MoveLast
Me.txtNumRecs = rsIn.RecordCount
rsIn.MoveFirst

lngRecNum = 0

Do While Not rsIn.EOF
    
    lngRecNum = lngRecNum + 1
    If lngRecNum / 100 = Int(lngRecNum / 100) Then
        Me.txtRecNum = lngRecNum
        Me.Repaint
    End If
    
    For intI = 0 To rsIn.Fields.Count - 1
        'MsgBox intI & " *" & rsIn(intI) & "*"
        If Left(rsIn(intI), 1) = """" And Right(rsIn(intI), 1) = """"
Then
            rsIn.Edit
            rsIn(intI) = Trim(Mid(rsIn(intI), 2, Len(rsIn(intI)) - 2))
            rsIn.Update
        End If
    Next intI
    rsIn.MoveNext
Loop

rsIn.Close
Set rsIn = Nothing

db.Close
Set db = Nothing

MsgBox "Done"

End Sub

 	
	

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
at Beach Access Software
Sent: Friday, June 01, 2007 6:10 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] FW: Removing quotes

Erwin:

Thanks.  I'll take a look.

Regards,

Rocky
 




 	
	

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Erwin Craps -
IT Helps
Sent: Friday, June 01, 2007 5:05 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] FW: Removing quotes

I have written a long time ago some little vb app to remove some strings
from files in a folder.
At that day someone needed to strip HTML code from a lot htm files.

It only removes charachters not replace them.

www.ithelps.eu/tools


I noticed that the tool is regulary downloaded so is upose it has his
use
:-)

Erwin



-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
at Beach Access Software
Sent: Friday, June 01, 2007 12:36 AM
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


--
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
 

--
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
 

--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/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 information about the AccessD mailing list