Solved

Follow Up ? -> 2 Tables Comparison

Posted on 2004-08-03
9
365 Views
Last Modified: 2009-12-16
Please See:
http://www.experts-exchange.com/Databases/MS_Access/Q_21059341.html
http://www.experts-exchange.com/Databases/MS_Access/Q_21054826.html
http://www.experts-exchange.com/Databases/MS_Access/Q_21054509.html
------------------------------------------------------------------------------------------

Last time i promiss, I want to change the new code (See Below) to select 3 characters (instead of 2) to compare after the numbers... again ignoring spaces and caps...
Please see the previous questions to understand what it is I am trying to accomplish here...
Thanks In advance
-BassKozz

<<<START CODE>>>
Function Val1Char(strInput As String) As String
Dim i As Integer
Dim StrLenght As Integer
strInput = Replace(strInput, " ", "")
For i = 1 To Len(strInput)
    If Not IsNumeric(Mid(strInput, i, 1)) Then
         StrLenght = i + 1
         Exit For    'exit after finding the first number from left
    End If
Next i

Val1Char = IIf(StrLenght = 0, "na", Left(strInput, StrLenght))

End Function
<<<END CODE>>>
0
Comment
Question by:basskozz
  • 5
  • 4
9 Comments
 
LVL 34

Expert Comment

by:Mike Eghtebas
ID: 11711474
For three characters after first number use:

Function Val1Char(strInput As String) As String
Dim i As Integer
Dim StrLenght As Integer
strInput = Replace(strInput, " ", "")
For i = 1 To Len(strInput)
    If IsNumeric(Mid(strInput, i, 1)) Then
         StrLenght = i + 1
         Exit For    'exit after finding the first number from left
    End If
Next i

Val1Char = IIf(StrLenght = 0, "na", Mid(strInput, StrLenght , 3))

End Function
0
 
LVL 34

Expert Comment

by:Mike Eghtebas
ID: 11711506
Last example will pick:

3RTUX     first number is 3, therefor will return RTU

356RTUX     first number is 3, therefor will return 56R

----------------------------
To select RTU  form both examples, I guess what you are asking for, try:

Function Val1Char(strInput As String) As String
Dim i As Integer
Dim StrLenght As Integer
strInput = Replace(strInput, " ", "")
For i = 1 To Len(strInput)
    If Not IsNumeric(Mid(strInput, i, 1)) Then
         StrLenght = i
         Exit For    'exit after finding the first number from left
    End If
Next i

Val1Char = IIf(StrLenght = 0, "na", Mid(strInput, StrLenght , 3))

End Function
------------
Provided that your string never starts with text characters.  

Mike
0
 
LVL 34

Expert Comment

by:Mike Eghtebas
ID: 11711525
Well, if it start with string, like:

RTUX   you will get RTU using second post.
----------
If you are looking to extrach RUT from say:

ABC12RUTX

Meaning, there is going to be some numbers always, a third code is required to do that.  I will wait for your response.

Mike
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 

Author Comment

by:basskozz
ID: 11711683
Example of what I would like it to do...

123east = 123 easxtern (123eas=123eas)
123 east = 123easxtern (123eas=123eas)
222 Smith = 222 Smitty (222smi=222smi)


Examples of what NOT to collect or match....

111 east =/ 123 east  (because numbers don't match)
111 east =/ 111 eat   (because "eas" doesn't equal "eat")

0
 
LVL 34

Accepted Solution

by:
Mike Eghtebas earned 500 total points
ID: 11712152
Function Val1Char(strInput As String) As String
Dim i As Integer
Dim StrLenght As Integer
strInput = Replace(strInput, " ", "")
For i = 1 To Len(strInput)
    If Not IsNumeric(Mid(strInput, i, 1)) Then
         StrLenght = i
         Exit For    'exit after finding the first number from left
    End If
Next i

Val1Char = IIf(StrLenght = 0, "na", Left(strInput, (StrLenght , 2)))

End Function

Above function will return:

123east = 123 easxtern (123eas=123eas)
123 east = 123easxtern (123eas=123eas)
222 Smith = 222 Smitty (222smi=222smi)


Examples of what NOT to collect or match....

111 east  ---------> 111eas
111east   ---------> 111eas
123 east  ---------> 123eas
123east   ---------> 123eas
111 eat   ---------> 111eat
111eat    ---------> 111eat

Comparing them is a different story.  It ought to be handled with a the query.

Mike
0
 

Author Comment

by:basskozz
ID: 11715305
Mike,

Syntax Error :
Val1Char = IIf(StrLenght = 0, "na", Left(strInput, (StrLenght , 2)))

0
 

Author Comment

by:basskozz
ID: 11715513
It might be easier to see what the code does in my Database... so I have put up links to the database...

http://home.earthlink.net/~chrisrutter/

<<<OR>>>

http://home.earthlink.net/~chrisrutter/MLS%20Active%20Search.mdb
http://home.earthlink.net/~chrisrutter/MLS%20Active%20Search.rar


*.mdb file = 2056kb
*.rar file   = 276kb

0
 
LVL 34

Assisted Solution

by:Mike Eghtebas
Mike Eghtebas earned 500 total points
ID: 11717069
change , with + in

Val1Char = IIf(StrLenght = 0, "na", Left(strInput, (StrLenght + 2)))
0
 

Author Comment

by:basskozz
ID: 11717465
It works,
Thanks Mike

-BassKozz
0

Featured Post

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

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

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

Join & Ask a Question