Grazie per le risposte fin ora inserite,
Il discorso di Gianluigi che comunque è molto sensato, in qualche modo era già stato codificato nella routine che avevo inserito e che ripeto per vostra comodità:
Public Sub ListLavori_Select()
'######################################################################### Sceglie il lavoro dalla lista proposta #####
pos3 = ListLavori.Index
If pos3 = 0
sw_altro = True
If FMain.tipoBll - 1 = 2
TextPersona.SetFocus
Endif
TextDescr.SetFocus
INS_PREZZO(0)
Else
descr$ = lavori$[pos3]
TextDescr.Text = descr$
prezzoUnit = prezzoVis[pos3]
INS_PREZZO(1)
Endif
ListCapi.Enabled = False
ButtonInsert.Background = &FF0000
ButtonInsert.Enabled = False
ButtonCancel.Background = &FF0000
ButtonCancel.Enabled = False
ButtonConf.Background = &00FF00
ButtonConf.Enabled = True
TextDescr.SetFocus
End
In allegato ho anche postato la schermata del form su cui si va ad interagire; Come funziona l'inserimento dati? Semplicemente grazie al tasto insert si sceglie dalla lista sopra di esso un tipo di capo su cui si intende eseguire un lavoro, il tasto Cancel serve solo a togliere un tipo di capo in caso di sccelta sbagliata, la scelta fatta viene visualizzata nella grid soppra a cancel e nella lista a fianco vengono visualizzati i lavori eseguibili su quel tipo di capo.
Eseguendo una scelta tra i lavori presenti si entra nella
Public Sub ListLavori_Select() con
pos3 diverso da zero a questo punto viene eseguita la
If pos3 = 0 dopo la
else ove vengono passati i dati relativi alla scelta fatta ed eseguita la procedura
INS_PREZZO(1), cioè senza nessun input.
In questa fase il problema non si manifesta, si manifesta invece inserendo la scelta
Altro...., appena eseguita questa scelta si entra nella
Public Sub ListLavori_Select() con
pos3 uguale a zero a questo punto viene eseguita la
If pos3 = 0 prima della la
else ove trova l'istruzione
TextDescr.SetFocus e di seguito la chiamata alla procedura
INS_PREZZO(0) che in questo caso viene eseguita con l'input dell'importo del lavoro; Come vedete seguendo il mio ragionamento il bottone di
Conferma non dovrebbe essere interessato da nessun sblocco e quindi dovrebbe rimanere inusabile. Nella pratica invece appena il campo descrizione attraverso il ben noto
Public Sub ListLavori_Select() prende fuoco, cioè subito dopo la pressione dell'item
Altro.... il bottone
Conferma, lo si ritrova di colore verde ed è quindi attivo.
L'unica alternativa a questa situazione, a quanto mi può sembrare, è quindi gestire l'errore relativo alla eventuale errata pressione del tasto
Conferma.
Cosa ne pensate della mia disanima, siete d'accordo con le mie conclusioni.
Vi ringrazio e vi saluto ancora.