[AccessD] Translation data length (cache used)

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





More information about the AccessD mailing list