Link to home
Start Free TrialLog in
Avatar of pwdells
pwdellsFlag for United States of America

asked on

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.  

User generated image
How do I stop the splitting from happening?
Avatar of Jeffrey Coachman
Jeffrey Coachman
Flag of United States of America image

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...
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.
Avatar of pwdells

ASKER

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

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

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

Open in new window

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.
try changing your computer regional setting to european..
Avatar of pwdells

ASKER

Is that the time zone setting?
Avatar of pwdells

ASKER

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.
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.
ASKER CERTIFIED SOLUTION
Avatar of Dale Fye
Dale Fye
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of pwdells

ASKER

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.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of pwdells

ASKER

I have my language settings set to Dutch now.  This should be interesting! :)  Well, it's only for 7 days.
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).
This would let you examine the table, and see if the fields are divided up correctly.
Avatar of pwdells

ASKER

Thank you both for helping me out!