Robert L. Stewart
rl_stewart at highstream.net
Tue Oct 14 10:23:24 CDT 2003
John, The "longest" string is the full size of the column. Here is a function that will do it on the fly. You would pass the full column width, i.e. 15 as the intWidth. Function PadLeft(strText As String, intWidth As Integer, _ Optional strPad As String = " ") As String ' Pad strText on the left, so the whole output is ' at least intWidth characters. ' If strText is longer than intWidth, just return strText. ' If strPad is wider than one character, this code only takes ' the first character got padding. ' Parameters: ' strText: ' Input text ' intWidth: ' Minimum width of the output. If ' Len(strText) < intWidth, then the ' output will be exactly intWidth characters ' wide. The code will not truncate strText, ' no matter what. ' strPad (Optional, default is " "): ' string whose first character will ' be used to pad the output. ' Returns: ' Return Value: ' strText, possibly padded on the left with ' the first character of strPad. ' Example: ' PadLeft("Name", 10, ".") returns ' "......Name" ' PadLeft("Name", 10) returns ' " Name" If Len(strText) > intWidth Then PadLeft = strText Else PadLeft = Right$(String(intWidth, strPad) & _ strText, intWidth) End If End Function Since I useBase36 for my numbering, I start my numbering at 0000000000. Because everything is padded with 0, the sorting is not an issue. I live with the performance hit of a few milliseconds because I prefer this method. One day, I suspect our SSNs will include letters and go to a Base36 numbering like the license plates on our cars. And it would be smart, which is why it will never happen ;-), if zip codes were done the same way. I believe we agree, just saying it different ways. 8-) Robert At 02:59 PM 10/13/2003 -0500, you wrote: >Date: Mon, 13 Oct 2003 12:19:14 -0500 >From: "John B." <john at winhaven.net> >Subject: RE: [AccessD] Number vs text data type >To: "Access Developers discussion and problem solving" > <accessd at databaseadvisors.com> >Message-ID: <NGBBLIECOMAKBPEDMKEJKEMDFCAA.john at winhaven.net> >Content-Type: text/plain; charset="iso-8859-1" > >Yes, but then you have to find the longest string first and feed it to the >format function and you have the issue of leading zeros or (whatever), etc. > >I realize there are many reasons to type a field one way or the other and >there are always gray areas... >therefore I'll revise my previous statement - its cleaner (and easier) to >sort your data if you first properly type your data fields. In general use a >number type for items that indicate a numeric value and a text type for >items that just happen to include numbers.