Certo, qui di seguito riporto il codice di Form_Load e di MsComm_OnComm:

codice:
Private Sub Form_Load()    
 Reload:
    ' Int seriale        
    MSComm6.CommPort = 1     
    MSComm6.Settings = "19200,n,8,1"     
    MSComm6.PortOpen = True     
    MSComm6.RThreshold = 1        
End Sub  


Private Sub MSComm6_OnComm()     

Dim Rx$     
Dim Buffer$     
Dim Ok As Integer     
Dim stLinkCriteria As String     
Dim stDocName As String     
Dim stDocName2 As String     
Dim i As Double     
Dim last As String     
Dim autotara As Single     
Dim soglia1 As Single     
Dim soglia2 As Single     
Dim pesofinale As Single     
Dim corrstat As Single     
Dim sogliafinale As Single     
Dim tempciclo As Single     
Dim tempoveloce As Single     
Dim tempolento As Single
          
stDocName2 = "RapportoInsacco"     
Ok = 0     
Peso = 0          

Do While (Len(Buffer$) < 68)         
      DoEvents         
      Buffer$ = Buffer$ & MSComm6.Input     
Loop       

'qui ci vanno le istruzioni per estrarre i dati che mi servono     
'dal file ASCII              

If (Ok = 1) Then             
      Buffer$ = "" 
      autotara = CSng(Chr(Mid(eccolo, 5, 2)) + Chr(Mid(eccolo, 7, 2)) +   Chr(Mid(eccolo, 9, 2)) + Chr(Mid(eccolo, 11, 2)) + Chr(Mid(eccolo, 13, 2)) + Chr(Mid(eccolo,   15, 2)))               
      soglia1 = ...             
      soglia2 = ...             
      pesofinale = ...             
      corrstat = ...             
      sogliafinale = ...             
      tempciclo = ...             
      tempoveloce = ...             
      tempolento = ...              	   

      ' pezzo di codice per la gestione del DB e delle stampe             
      Me.Data = Date             
      Me.Ora = Time             
      p = p + 1             
      If (k < MaxBB) Then                 
             Me.Lotto.Value = Form_MasInsacco.Lotto.Value                 
             Me.Numero.Value = Form_MasInsacco.Numero.Value                 
             Me.Peso.Value = CDbl(Mid$(eccolo, 22, 5))                 
             eccolo = ""                 
             Me.BigBag.Value = k                 
             k = k + 1                 
             DoCmd.OpenForm "MasBigBag", , , stLinkCriteria                 
             Form_MasInsacco.BBPesati.Value = Form_MasInsacco.BBPesati.Value + 1                                  
             stDocName = "QueryEtichette"                 
             DoCmd.OpenQuery stDocName, acNormal, acEdit                      
             stDocName = "ReportEtichette"                 
             DoCmd.OpenReport stDocName, acPreview                 
             DoCmd.Close acReport, stDocName, acSaveNo                          
      Else                 
             Me.Lotto.Value = Form_MasInsacco.Lotto.Value                 
             Me.Numero.Value = Form_MasInsacco.Numero.Value                 
             Me.Peso.Value = CDbl(Mid$(eccolo, 22, 5))                 
             eccolo = ""                 
             Me.BigBag.Value = k                 
             DoCmd.OpenForm "MasBigBag", , , stLinkCriteria                 
             Form_MasInsacco.BBPesati.Value = Form_MasInsacco.BBPesati.Value + 1                 
             stDocName = "ReportEtichette"                 
             DoCmd.OpenReport stDocName, acNormal                 
             GoTo fine             
      End If   
          
GoTo end_sub                   

fine:         
DoCmd.Close         

end_sub:         
  End If   
End Sub