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