Use a MDB created in different language

G

Guest

Hello,
Is it possible to translate the form (, reports, queries,… ) definition of
an Access database? I’ve got a MDB build with Access 2003 in Spanish. When I
try to open a form of this database with Access 2003 in English I get an
error in queries with references to values in fields located in the form.

Enter Parameter Value:
Formularios!<form_name>!<field_name>

I've tried to import the form to a new English MDB but with the same result.

This seems easy to change in MSysQueries but this is read-only.

The database is complex with a lot of forms and many references in forms and
reports. It’s difficult to manually maintain two versions of the same MDB.
The same MDB must be used for people form different companies with different
corporate language versions of Office so it’s not possible to use the same
version of Access.

Thanks in advance
 
P

Pieter Wijnen

As with all MsOffice products Localized versions are capable of reading
English mdb's - but not the other way around.
The simple answer is therefore to always develop using the english version.
That said, this code should fix it for you

Sub FindQueryText(Optional ByVal txt As String = "Formularios", Optional
ByVal ReplaceBy As TextBox = VBA.vbNullString)
Dim Db As DAO.Database
Dim Qdef As DAO.QueryDef
On Error Resume Next

Set Db = Access.CurrentDb
For Each Qdef In Db.QueryDefs
If VBA.InStr(Qdef.SQL, txt) > 0 Then
Debug.Print Qdef.Name
If VBA.Len(ReplaceBy) > 0 Then
Qdef.SQL = Replace(Qdef.SQL, txt, ReplaceBy)
End If
Qdef.Close
Next
Set Db = Nothing

End Sub

HTH

Pieter

PS
There's a product on the market called SpeedFerret that also changes all
texts in modules, forms & reports as well
 
P

Pieter Wijnen

As with all MsOffice products Localized versions are capable of reading
English mdb's - but not the other way around.
The simple answer is therefore to always develop using the english version.
That said, this code should fix it for you

Sub FindQueryText(Optional ByVal txt As String = "Formularios", Optional
ByVal ReplaceBy As TextBox = VBA.vbNullString)
Dim Db As DAO.Database
Dim Qdef As DAO.QueryDef
On Error Resume Next

Set Db = Access.CurrentDb
For Each Qdef In Db.QueryDefs
If VBA.InStr(Qdef.SQL, txt) > 0 Then
Debug.Print Qdef.Name
If VBA.Len(ReplaceBy) > 0 Then
Qdef.SQL = Replace(Qdef.SQL, txt, ReplaceBy)
End If
Qdef.Close
Next
Set Db = Nothing

End Sub

HTH

Pieter

PS
There's a product on the market called SpeedFerret that also changes all
texts in modules, forms & reports as well


PMM said:
Hello,
Is it possible to translate the form (, reports, queries,. ) definition of
an Access database? I've got a MDB build with Access 2003 in Spanish. When
I
try to open a form of this database with Access 2003 in English I get an
error in queries with references to values in fields located in the form.

Enter Parameter Value:
Formularios!<form_name>!<field_name>

I've tried to import the form to a new English MDB but with the same
result.

This seems easy to change in MSysQueries but this is read-only.

The database is complex with a lot of forms and many references in forms
and
reports. It's difficult to manually maintain two versions of the same MDB.
The same MDB must be used for people form different companies with
different
corporate language versions of Office so it's not possible to use the same
version of Access.

Thanks in advance



--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top