Ciao, per quanto riguarda il fatto di bloccare le textbox potresti seguire i consigli che ti hanno dato impostando la proprietà Locked=true, anche se, considerando che quando carichi i dati gli eventi che usi per l'inserimento si possono scatenare... forse, anche se comporta più lavoro, per la visualizzasione ti converrebbe usare delle label impostando il bordo a 3D..comunque sono gusti, vedi tu.
Per visualizzare l'ultimo record inserito, li dipende molto da come apri la tabella, se usi una query potresti impostare l'ordine sulla data di estrazione in modo decrescente, altrimenti quando apri la tabella fai un MoveLast tramite la proprietà del recordset.
Se vuoi permettere l'inserimento dello zero e anche ripetuto sulla stessa riga allora devi fare alcune modifiche:
Le modifiche sono quelle in rosso... controlla magari meglio.. non le ho testate..codice:Private Function CheckNumber(indexTxt As Integer) As Boolean .... For i = idxTxt To (idxTxt + 4) If (Not i = indexTxt) and (not val(Text1(i).Text)=0) Then If Text1(i).Text = Text1(indexTxt) Then CheckNumber = True Exit For End If End If Next .... End Function Private Sub Text1_Validate(Index As Integer, Cancel As Boolean) 'attenzione, la proprietà Maxlength delle textBox relative alle estazione, deve essere impostata a 2 If Len(Trim(Text1(Index).Text)) > 0 Then If Len(Text1(Index).Text) = 1 Then Text1(Index).Text = "0" & Text1(Index).Text End If If Val(Text1(Index).Text) < 0 Or Val(Text1(Index).Text) > 90 Then MsgBox "L'estrazione deve essere compresa tra 0 e 90" Text1(Index).Text = "" Cancel = True ElseIf CheckNumber(Index) Then MsgBox "Il numero [" & Text1(Index) & "] è già inserito!" Text1(Index).Text = "" Cancel = True End If End If End Sub
![]()

Rispondi quotando