title: ms-access localization and default boolean values
body: <p>Our access client generates on the fly SQL inserts, update and delete instructions to be sent on a MS-SQL Server. Most users have the runtime version of Access 2007, and a few use the complete MS-Access version, 2003 or 2007. This morning one of our new users abroad, using a french/complete version of Access 2003, was unable to update data containing boolean fields. </p>
  
  <p>It appeared that these fields are, in the french version of Access, populated with "Vrai/Faux" instead of "True/False" values. The problem was solved by installing the 2007 access runtime. </p>
  
  <p>But I'd like to find a permanent solution, where I'd be able to read from somewhere which localized version of Access is in use and 'translate' the localized True/False values to standard True/False. I already checked the regional settings of the computer without success, so it is somewhere else. Any idea?</p>
  
  <p>EDIT: Following JohnFX proposal, it is effectively possible to convert from local True/False to universal True/False with this simple function:</p>
  
  <pre><code>Function xBoolean(xLocalBooleanValue) as Boolean
  if cint(xLocalBooleanValue) = -1 Then
      xBoolean = True
  endif
  if cint(xLocalBooleanValue) = 0 Then
      xBoolean = False
  endif
  end function
  </code></pre>
  
  <p>EDIT: following @David's comments, I changed the favorite solution. His proposal is smarter than mine. </p>
  
  <p>EDIT: I am getting the Vrai/Faux values by reading the value of a field in a recordset:</p>
  
  <pre><code>? debug.print screen.activeForm.recordset.fields(myBooleanField).value 
  Vrai
  </code></pre>