Stuart McLachlan
stuart at lexacorp.com.pg
Sat Feb 21 18:29:47 CST 2009
Len() measures in characters. Access stores string data as a 10 byte header, followed by the character data in Unicode, using 2 bytes per character So 2500 strings with a total length of 140,000 character will take (2,500*10) + (140,000*2) = 305,000 bytes. -- Stuart On 21 Feb 2009 at 12:27, jwcolby wrote: > Using the following function I calculated the lengths of all of the translation strings in every > translation field: > > Function mTotalDataLength() > Dim db As DAO.Database > Dim rst As DAO.Recordset > Dim lngDataLength As Long > Dim intFld As Integer > Set db = CurrentDb > Set rst = db.OpenRecordset("tblLanguage-Controls") > With rst > For intFld = 4 To 8 > .MoveFirst > While Not .EOF > If Not (IsNull(rst(intFld).Value)) Then > lngDataLength = lngDataLength + Len(rst(intFld).Value) > End If > .MoveNext > Wend > Debug.Print intFld & ":" & lngDataLength > Next intFld > End With > End Function > > mTotalDataLength > 4:43879 > 5:56558 > 6:69133 > 7:107050 > 8:140369 > > Spanish and French are by far the most verbose. In any event, if you are caching the data for every > single form for a single language, the total data cached is about 140K. > > -- > John W. Colby > www.ColbyConsulting.com > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com