Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ciao Domenico,
il codice originale che scriveva il peso nella casella di testo Rx era questo:
Private Sub Form_Timer()
txtReceive = txtReceive & Comm.Rx
End Sub
In sostanza la casella di testo txReceive, nell'evento Timer, impostato al caricamento della maschera a 300 millisecondi veniva valorizzata con il suo valore precedente + il valore ricevuto dalla risposta della bilancia
La modifica che ti ho proposto è questa:
Private Sub Form_Timer()
Comm.Tx "Read" & vbCrLf
txtReceive = CInt(Mid(Comm.Rx, 7, Len(Comm.Rx) - 8))
End Sub
Ovvero ho inserito l'invio del messaggio Read che precedentemente veniva fatto tramite l'evento click del pulsante P_Send, prima della valorizzazione della casella di testo (Comm.Tx "Read" & vbCrLf) e poi ho modificato la valorizzazione stessa in modo da eliminare il riferimento alle precedenti pesate ed estraendo dalla stringa ricevuta solo il peso (txtReceive = CInt(Mid(Comm.Rx, 7, Len(Comm.Rx) - 8))
Non ho modo di provare il codice ma sinceramente mi sembra strano che mantenga le pesate precedenti in quanto l'istruzione
txtReceive = CInt(Mid(Comm.Rx, 7, Len(Comm.Rx) - 8))
sovrascrive ogni volta il contenuto della casella di testo txtReceive.
Se proprio vuoi essere sicuro potresti fare così:
Private Sub Form_Timer()
txtReceive = ""
Comm.Tx "Read" & vbCrLf
txtReceive = CInt(Mid(Comm.Rx, 7, Len(Comm.Rx) - 8))
End Sub
---
David