Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#11
| |||
| |||
Γιώργο προσπαθώντας να διαμορφώσω τον κώδικα στα μέτρα μου έπεσα στο συναπτόμενο σφάλμα...
|
#12
| |||
| |||
Καλημέρα Γιώργο, Θα πρέπει να πας από τον vba editor από το μενού Tools->References και στο παράθυρο διαλόγου που θα ανοίγει να βρεις το Microsoft Scripting Runtime να το τσεκάρεις και να πατήσεις OK και είσαι έτοιμος. |
#13
| |||
| |||
Γειά σου Γιώργο μου, Σε ευχαριστώ φίλε μου, όταν θα πάω στο σπίτι θα το δοκιμάσω και εάν έχω οτιδήποτε θα επανέλθω. Σε ευχαριστώ πάντως για την βοήθεια και το ενδιαφέρον να βοηθήσεις έναν άσχετο.. |
#14
| |||
| |||
Καλησπέρα σε όλους και ιδιαιτέρως σε εσένα φίλε Γιώργο, Προσπαθώ να προσαρμίσω τον κώδικα αυτό έτσι ώστε να παρακάμψω την διαδικασία του Input Box και να παίρνει τιμή απο ένα πεδίο στην φόρμα SKey αλλά κτυπάει ο κώδικας συνεχώς μιας και απο την απειρία μου μάλλον έχω κάνει κάποιο λάθος.. Ο κώδικας οπως τον έχω διαμορφώσει και συνημμένη η φωτο με το σημείο που κτυπά ο κώδιας.. 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 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 Θα εκτημήσω ενα χέρι βοήθειας.. |
#15
| |||
| |||
Γεια σου Γιώργο. Στον κώδικα που έχεις σου χτυπάει λάθος η γραμμή «Open sfile For Random As #nfile» γιατί την έχεις δυο φορές, σβήσε την μια. Το αρχείο γιατί το ανοίγεις «For Random». Δες τα επισυναπτόμενα αρχεία και πρόσεξε την διαφορά που έχουν. Στο ένα μεταβιβάζουμε την τιμή του textbox την μεταβλητή «strSearch» ενώ στο άλλο την περνάμε σαν όρισμα στην συνάρτηση «findtext». Αρκεί και στις δυο περιπτώσεις το περιεχόμενο των μεταβλητών να μην είναι κενό. |
#16
| |||
| |||
Γιώργο γειά σου και ευχαριστώ για την ανταπόκριση φίλε μου, Βασικά Γιώργο μου θέλω να αποφύγω εντελώς το 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 Ευχαριστώ εκ προτέρων |
#17
| |||
| |||
Καλημέρα φίλε Γιώργο Στον κώδικα strSearch = Forms!SKey.txtMod1 άλλαξε το σε strSearch = Forms_SKey.txtData.value. Αρκεί να κάνεις έλεγχο να μην είναι κενό. |
#18
| |||
| |||
Καλησπέρα φίλε Γιώργο, Σήμερα βρήκα χρόνο να ελέξω τον κώδικα. Προσπαθώντας όμως να προσαρμόσω την εντολή να "τρέχει" απο κάποιο κουμπί, έγραψα απλά το findtext αλλά κτυπάει....άλλαξα και το Function σε Public αλλά και πάλι πρόβλημα.. Κάθε βοήθεια είναι εκτιμητέα. Σε ευχαριστώ |
#19
| |||
| |||
Γεια σου Γιωργο Η συναρτηση για να εκτελεστη πρεπει να εχει ορισμα την διαδρομη του αρχειου. π.χ call findtext(pathfile) οπου pathfile="c:\folder\folder\file.txt" . |
#20
| |||
| |||
Γεια σου Γιώργο Η συνάρτηση για να εκτελεστή πρέπει να έχει όρισμα την διαδρομή του αρχείου. π.χ call findtext(pathfile) οπου pathfile="c:\folder\folder\file.txt" . |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Διαγραφή Text File μέσω vba | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 10 | 19-03-16 16:58 |
Έλεγχος εάν υπάρχει το Folder | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 23-02-16 14:48 |
Text wrapping | Γιωργος μπομπ | Access - Ερωτήσεις / Απαντήσεις | 4 | 12-04-10 18:02 |
log file στην access | giorgos_ad | Access - Ερωτήσεις / Απαντήσεις | 5 | 28-02-10 10:37 |
Εξαγωγή πίνακα σε ascii file | stavros | Access - Ερωτήσεις / Απαντήσεις | 13 | 07-12-09 19:05 |
Η ώρα είναι 14:21.