Solved

Follow Up ? -> 2 Tables Comparison

Posted on 2004-08-03
9
357 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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
corrupt Databases 9 65
Reading the code behind a form - via VBA 3 31
Access/Visual Basic Question 3 24
query linked sql table field from access 4 20
The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

856 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