ragazzi ho un problema:
il codice che mi avete fornito funziona correttamente (devo solo finire la partedella ricerca del file nella tabella)
ma adesso ho provato ad inserire nella stessa maschera o meglio nello stesso form 2 condizioni e ne dovrò aggiungere atri 2 almeno
adesso il form oltre a cercare "PAROLA1" ed eseguire una determinata operazione quando queste aumentano all'interno del log, cerca anche "PAROLA2" e con lo stesso metodo avengo altri eventi
diciamo che il sistema funziona ma è lentissimo a volte si blocca e per evidenziare un tasto quanto ti ci posizioni con il cursore ci sta dai 2 ai 4 secondi c'è un modo per velocizarlo pensate che il problema possa essere il Timer??
codice:
Private Sub Form_Load()
If Dir("C:\dati.txt") = vbNullString Then
Open ("C:\dati.txt") For Append As #1
Print #1, "0"
Print #1, "0"
Print #1, "0"
Print #1, "0"
Print #1, "0"
Print #1, "0"
Print #1, "0"
Print #1, "0"
Close #1
End If
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
Dim linea As String
Dim buffer As String
Dim contatore_parola1 As Variant
Dim contatore_parola2 As Variant
Dim i As Long
Dim parola1 As Variant
Dim parola2 As Variant
Open ("C:\dati.txt") For Input As #1
Input #1, parola1
Input #1, parola2
Input #1, parola3
Input #1, parola4
Input #1, parola5
Input #1, parola6
Close #1
Open ("C:\Log1.log") For Input As #1
Do Until EOF(1)
Input #1, linea
buffer = buffer & linea & Chr(10) & Chr(13)
Loop
For i = 1 To Len(buffer)
i = InStr(i, buffer, "parola1")
If i < 1 Then Exit For
contatore_parola1 = contatore_parola1 + 1
Next i
Close #1
If contatore_parola1 - parola1 >= 1 Then
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "maschera1"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Open ("C:\Log1.log") For Input As #1
Do Until EOF(1)
Input #1, linea
buffer = buffer & linea & Chr(10) & Chr(13)
Loop
For i = 1 To Len(buffer)
i = InStr(i, buffer, "parola2")
If i < 1 Then Exit For
contatore_parola2 = contatore_parola2 + 1
Next i
Close #1
If contatore_parola2 - parola2 >= 1 Then
stDocName = "maschera2"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Open ("C:\Call.txt") For Output As #1
Print #1, CStr(contatore_parola1)
Print #1, CStr(contatore_parola2)
Print #1, parola3
Print #1, parola4
Print #1, parola5
Print #1, parola6
Close #1
End Sub