• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 282
  • Last Modified:

Working with recordsets containing commas.

Hello,

I am currently working on an application that has to run in a European Office Environment.  One of the MANY problems I have come across is that the numbers in Europe have commas in decimal places.  

So when I select criteria and pull data from the db, I have a field that contains commas and the remainder of the field is getting placed in the adjacent column.  If you look at the snapshot that I posted, you will see under Origin in the 3rd & 4th row, there is "80 G" and "18 G".  Those values should be in the column to the left, as "3,80 G" and "3, 18 G", respectively.  

Screenshot of list box
How do I stop the splitting from happening?
0
pwdells
Asked:
pwdells
  • 6
  • 4
  • 2
  • +3
2 Solutions
 
Jeffrey CoachmanMIS LiasonCommented:
What is the Row Source Type of this combobox...?
If it is table/query then this should not be an issue...

If it is a "Value List", then try using a semi-colon (;) instead of a comma (,) as the delimiter...
0
 
Dale FyeCommented:
how are you loading this list?

It looks like you have the RowSource type set to value list, and it sounds like you are loading it by looping through the recordset and using the Add method.

Instead, set the RowSourceType to "Table/Query" and select the name of the table or query as the RowSource, rather than the text that gets added using the Add method.
0
 
pwdellsAuthor Commented:
I am using a recordset to populate the listbox and the Row Source Type is "Value List".  

Here is the code I use to populate, after the RS has been set.  (Company policy won't let me show the SQL in this instance. )

If rs_SS.RecordCount > 0 Then
    Me.lst0MAL_SS.AddItem ("MG; MAT NUM; MAT DESC; BAS MAT NUM; BAS MAT DESC; BATCHB; VS STAGE; BATCH; ABC; TSW; " & _
        "ORIGIN; HARVEST; PLO; PLANT; SLOC; TOTAL/KCS; TOTAL/MK; TRANS/KCS; TRANS/MK; WIP/KCS; WIP/MK")
    
    Me.lst0MAL_SS.ColumnHeads = True
    
    While Not (rs_SS.EOF)
        Me.lst0MAL_SS.AddItem (rs_SS.Fields(0) & "; " & _
            rs_SS.Fields(1) & "; " & _
            rs_SS.Fields(2) & "; " & _
            rs_SS.Fields(3) & "; " & _
            rs_SS.Fields(4) & "; " & _
            rs_SS.Fields(5) & "; " & _
            rs_SS.Fields(6) & "; " & _
            rs_SS.Fields(7) & "; " & _
            rs_SS.Fields(8) & "; " & _
            rs_SS.Fields(9) & "; " & _
            rs_SS.Fields(10) & "; " & _
            rs_SS.Fields(11) & "; " & _
            rs_SS.Fields(12) & "; " & _
            rs_SS.Fields(13) & "; " & _
            rs_SS.Fields(14) & "; " & _
            rs_SS.Fields(15) & "; " & _
            rs_SS.Fields(16) & "; " & _
            rs_SS.Fields(17) & "; " & _
            rs_SS.Fields(18) & "; " & _
            rs_SS.Fields(19) & "; " & _
            rs_SS.Fields(20) & "; ")
               
        rs_SS.MoveNext
    Wend

End If

Open in new window

0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Anthony BerenguelCommented:
try removing the comma out of your TSW field with the replace function...

recordset.TSW = replace(recordset.TSW,",","")

Open in new window

0
 
Dale FyeCommented:
So, what is preventing you from changing the RowSourceType to "Table/Query", and setting the RowSource to the name of the query that is the source for your rs_SS recordset.
0
 
Rey Obrero (Capricorn1)Commented:
try changing your computer regional setting to european..
0
 
pwdellsAuthor Commented:
Is that the time zone setting?
0
 
pwdellsAuthor Commented:
The reason why I am building the SQL in the VBA code is because the WHERE clause is built dynamically based on the fields that are selected and contain criteria.
0
 
Dale FyeCommented:
No,

If you open your control panel, and select the Regional and Language Options, in the Formats tab there is a combo box where you can select an actual country (at least that is what it looks like in Vista).

But again, why are you not using the Table/Query RowSourceType instead of the ValueList?  This is so much simpler.
0
 
Dale FyeCommented:
OK, but once you build the SQL string dynamically (which you had not told us previously), you just set the RowSource to the SQL string, like:

strSQL = "SELECT [field1], [Field2], ... from yourtable WHERE ..."

me.listboxName.Rowsource = strsql
0
 
pwdellsAuthor Commented:
Ok - I will try that.

Sorry about withholding that information about the WHERE clause.  I was not sure if Value List vs. Table / Query was the issue.
0
 
Rey Obrero (Capricorn1)Commented:
what OS are you using?

for windows7

start > Control Panel

(note : select Small Icons in the View By: drop down)

then look for  > Region and Language
0
 
pwdellsAuthor Commented:
I have my language settings set to Dutch now.  This should be interesting! :)  Well, it's only for 7 days.
0
 
Helen FeddemaCommented:
After creating the recordset dynamically, perhaps you could save it to a temp table, and use that as the row source of the combo box (and use the Table/Query Rowsource type).
0
 
Helen FeddemaCommented:
This would let you examine the table, and see if the fields are divided up correctly.
0
 
pwdellsAuthor Commented:
Thank you both for helping me out!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 4
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now