Solved

Working with recordsets containing commas.

Posted on 2012-03-28
16
264 Views
Last Modified: 2012-03-28
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
Comment
Question by:pwdells
  • 6
  • 4
  • 2
  • +3
16 Comments
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 37778376
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
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37778392
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
 

Author Comment

by:pwdells
ID: 37778397
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
 
LVL 10

Expert Comment

by:Anthony Berenguel
ID: 37778403
try removing the comma out of your TSW field with the replace function...

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

Open in new window

0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37778415
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
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 37778422
try changing your computer regional setting to european..
0
 

Author Comment

by:pwdells
ID: 37778467
Is that the time zone setting?
0
 

Author Comment

by:pwdells
ID: 37778503
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
Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 37778506
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
 
LVL 47

Accepted Solution

by:
Dale Fye (Access MVP) earned 250 total points
ID: 37778515
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
 

Author Comment

by:pwdells
ID: 37778529
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
 
LVL 119

Assisted Solution

by:Rey Obrero
Rey Obrero earned 250 total points
ID: 37778530
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
 

Author Comment

by:pwdells
ID: 37778535
I have my language settings set to Dutch now.  This should be interesting! :)  Well, it's only for 7 days.
0
 
LVL 31

Expert Comment

by:Helen_Feddema
ID: 37779353
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
 
LVL 31

Expert Comment

by:Helen_Feddema
ID: 37779357
This would let you examine the table, and see if the fields are divided up correctly.
0
 

Author Closing Comment

by:pwdells
ID: 37779363
Thank you both for helping me out!
0

Featured Post

Backup Your Microsoft Windows Server®

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

Join & Write a Comment

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…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

746 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now