Ciao a tutti!
Sto sviluppando un programma in visual basic in cui utilizzo delle combobox, in diversi form, per la scelta dell'unità di misura.
Nel modulo effettuo il controllo sulle combo (richiamato dai vari form):
in base all'unità di misura selezionata, converto il valore inserito nella textbox e lo riscrivo nella stessa textbox.
Mi da' l'errore di cui sopra nei passaggi tipo questo:
x.nome.Text = Str((Val(x.nome.Text)) / 100) in questa funzione:
Public Sub converti_lung(ByVal x As Form)
Dim nome As String
For k = 1 To 4
Select Case k
Case 1: 'lunghezza
nome = "txtlung"
Case 2: 'largehzza
nome = "txtlarg"
Case 3: 'altezza
nome = "txtaltezza"
Case 4: 'spessore
nome = "txtspessore"
End Select
Select Case x.cbolung(k).ItemData(x.cbolung(k).ListIndex)
Case 2: 'dm
x.nome.Text = Str((Val(x.nome.Text)) / 10)
Case 3: 'cm
x.nome.Text = Str((Val(x.nome.Text)) / 100)
Case 4: 'mm
x.nome.Text = Str(Val((x.nome.Text)) / 1000)
Case 5: 'um
x.nome.Text = Str((Val(x.nome.Text)) / 1000000)
Case 6: 'nm
x.nome.Text = Str((Val(x.nome.Text)) / 1000000000)
Case 7: 'dam
x.nome.Text = Str((Val(x.nome.Text)) * 10)
Case 8: 'hm
x.nome.Text = Str((Val(x.nome.Text)) * 100)
Case 9: 'km
x.nome.Text = Str((Val(x.nome.Text)) * 1000)
End Select
End If
Next k
End Sub
mi sembra di capire che non accetti il nome della textbox immesso in una variabile; come mai?
Come risolvo?![]()
![]()