Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/03/2008, 17:35
komodo
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años, 4 meses
Puntos: 3
Re: Aplicación con diferentes idiomas.

He encontrado un ejemplo que utiliza una bbdd access, el problem es que esta en VB 6. En el siguiente enlace está el ejemplo:

http://www.recursosvisualbasic.com.a...je-con-ado.htm

Yo lo he intentado adaptar para utilizarlo en .NET, el resultado es el siguiente:
Cita:
Sub Cargar_Valores(ByVal Lenguaje As String)

Dim seleccion As String
Dim scnn As String
Dim El_Control As Control
Dim i As Integer
scnn = "DSN=Access-vb;DBQ=" & Application.StartupPath & "\idiomas\language.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
seleccion = "SELECT * FROM language WHERE Idioma=" & Lenguaje & ""
da2 = New OdbcDataAdapter(seleccion, scnn)
dt2 = New DataTable
'da2.Fill(dt2)
For i = 0 To dt2.Columns.Count - 1
'Hace referencia al formulario
If dt2.Columns("NombreControl").ColumnName.ToString = El_Control.Name Then
El_Control.Text = dt2.Columns("CaptionDelControl").ColumnName.ToStri ng
Else

El_Control = Me.Controls(dt2.Columns("NombreControl").ColumnNam e.ToString)

' Agregar mas controles si es necesario
If (TypeOf El_Control Is Label) Or _
(TypeOf El_Control Is GroupBox) Or _
(TypeOf El_Control Is CheckBox) Or _
(TypeOf El_Control Is RadioButton) Or _
(TypeOf El_Control Is Menu) Or _
(TypeOf El_Control Is Button) Then

'Asigna el caption
El_Control.Text = dt2.Columns("CaptionDelControl").ColumnName.ToStri ng

ElseIf (TypeOf El_Control Is TextBox) Then
'si es un textbox, RichTexbox etc...
El_Control.Text = dt2.Columns("CaptionDelControl").ColumnName.ToStri ng
Else
'Error
MsgBox("Error: " & Err.Description, vbCritical)
End If
End If
Next

End Sub
Como podreis imaginar no funciona. Como hago para recorrer todos los controles del formulario?

If dt2.Columns("NombreControl").ColumnName.ToString = me.Name Then
me.Text = dt2.Columns("CaptionDelControl").ColumnName.ToStri ng

Como veis necesito decir que si el nombre del control en la bbdd es igual al control del formulario me cambie el text de este control por el de la base de datos. El error esta en el "me" no sé como decir que me coja los controles del formulario, de esta manera me esta haciendo Form1.name y necesito por ejemplo que haga Label1.Name, etc.. asi con todos los controles..

Alguna solución?

Gracias