Εμφάνιση ενός μόνο μηνύματος
  #16  
Παλιά 25-02-16, 13:55
γιώργοςΚ Ο χρήστης γιώργοςΚ δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Γιώργο γειά σου και ευχαριστώ για την ανταπόκριση φίλε μου,

Βασικά Γιώργο μου θέλω να αποφύγω εντελώς το Input Box και να παίρνει τιμη από την φόρμα (SKey) και απο το πεδίο [0txtMod1]. Για αυτό προσπάθησα να προσαρμόσω τον κώδικα έτσι ώστε να κάνει τα εξής:

1. Στην διαδρομή "C:\ProgramData\Dash\Slash.txt" υπάρχει το αρχείο μέσα στο οποίο αποθηκεύονται περίπου 20 αριθμοί ό ένας κάτω απο τον άλλο (σε διαφορετικη γραμμή δηλαδή)

2. Εφόσον ανοίξει η φόρμα (SKey) το πεδίο [txtMod1] παίρνει όλες τις τιμές (όλες δηλαδή τις γραμμές) που υπαρχουν στο αρχείο Slash.txt που όπως είπα βρίσκεται μέσα στο Folder Dash (C:\ProgramData\Dash\Slash.txt).

3. Αυτό που προσπαθώ να επιτύχω (και θα εκτιμούσα την αμέριστη βοήθεια σου) είναι εφόσον πατώσω την εντολή cmdSearch να μπορεί ο κώδικας να "κοιτάζει" σε αυτό το αρχείο εάν υπάρχει σε οποιαδήποτε γραμμή ο αριθμός που βρίσκεται σε ένα άλλο πεδίο (το [txtData]) που βρίσκεται και αυτό στην φόρμα..

Προσπάθησα λοιπόν να μετατρέψω τον κώδικα αλλά....μάταια..



Function findtext(sfile As String) As String
lngLine = 0
nfile = FreeFile
strSearch = Forms!SKey.txtMod1

lngLine = 0
blnFound = False
Open sfile For Random As #nfile
Do While Not EOF(nfile)
lngLine = lngLine + 1
Line Input #nfile, strLine
If InStr(1, strLine, strSearch, vbBinaryCompare) > 0 Then
msg = MsgBox("Ο αριθμός :" & strSearch & " βρέθηκε στην γραμμή: " & lngLine & " θελετε να διαγραφεί?", vbQuestion + vbOKCancel)
blnFound = True
If msg = vbOK Then
Call DeleteLinefile(sfile, lngLine)
Close #nfile
Exit Do
End If
End If
Loop
If blnFound = False Then
MsgBox "Ο αριθμός :" & strSearch & " δεν βρέθηκε", vbInformation
End If
Close #nfile
End Function

Ευχαριστώ εκ προτέρων
Απάντηση με παράθεση