Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Έλεγχος εάν υπάρχει ο αριθμός στο text file (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4009-elegxos-ean-yparxei-o-arithmos-sto-text-file.html)

γιώργοςΚ 14-01-16 22:38

Έλεγχος εάν υπάρχει ο αριθμός στο text file
 
Φίλοι μου καλησπέρα σας,

Μήπως γνωρίζει κάποιος εάν είναι δυνατόν να συγκρίνονται δύο τιμές ανάμεσα σε ένα πεδίο μιας φόρμας και σε ένα αρχείο txt. το οποίο βρίσκεται στον C:? Να μπορώ δηλαδή ας πούμε στο On-Open Event της φόρμας να τρέχει ο κώδικας και εφόσον ανοίξει να μου δίνει μήνυμα ότι ας πούμε ο αριθμός 100 υπάρχει μέσα στο text αρχείο που βρίσκεται στον C:

Ευχαριστώ εκ προτέρων

kapetang 15-01-16 14:39

1 Συνημμένο(α)
Καλησπέρα

Γιώργο, στο συνημμένο θα βρεις μια προσομοίωση του ζητούμενου.

1) Μετά την αποσυμπίεση αντίγραψε το αρχείο Test.txt στο φάκελο C:\Test.

2) Άνοιξε τη ΒΔ και τη φόρμα frmTest και μετακινήσου στις εγγραφές.

3) Παρατήρησε τα σχετικά μηνύματα.

Φιλικά/Γιώργος

γιώργοςΚ 15-01-16 20:27

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

Σε ευχαριστώ πολύ για την βοήθεια, είναι όντως ότι ζητώ μόνο που εάν υπάρχει το ενδεχόμενο να δημιουργείται αυτόματα το αρχείο txt είναι το ιδανικό. Δηλαδή το τελειο στην περίπτωση μου θα ήταν:

1. Με το άνοιγμα της βάσης να μπορεί να γίνεται έλεγχος εάν και κατά πόσο υπάρχει αυτό το αρχείο στον C: και στο folder που θα καθορίσω

2. Εάν δεν υπάρχει να μπορώ να το δημιουργώ με την χρήση μιας εντολής

Εάν και αυτό γίνει εφικτό θα με βοηθούσε αφάνταστα....

Σε ευχαριστώ και πάλι

kapetang 16-01-16 06:23

1 Συνημμένο(α)
Καλημέρα

Γιώργο, δες το συνημμένο.

Όταν φορτώνεται η φόρμα frmStart εκτελείται κώδικας, που ελέγχει αν υπάρχει το αρχείο “c:\Test\test.txt”.

Αν υπάρχει το αρχείο η διαδικασία τερματίζει.

Αν δεν υπάρχει:

1) Δημιουργείται ο φάκελος “c:\Test”, αν δεν υπάρχει.

2) Δημιουργείται το αρχείο “c:\Test\test.txt”.

3) Εισάγονται δεδομένα στο αρχείο από το χρήστη.

Φιλικά/Γιώργος

γιώργοςΚ 17-01-16 15:08

Καλησπέρα Γιώργο,

Έχω δοκιμάσει την λύση που προτείνεις και αντιμετωπίζω ένα μικρό πρόβλημα. Εφόσον ανοίξει η φόρμα frmStart η οποία περιέχει τον κώδικα ελέγχου εάν υπάρχει το text file, μου βγάζει ένα InputBox το οποίο θέλω να απαληφθεί...

Δοκιμασα να κάνω μια μετρτοπή στον κώδικα διαγράφωντας το κομματι του κώδικα που σχετίζεται με το InputBox και βάζωντας στην θέση του να ενημερώνεται απο ένα unbound που έβλα στην φόρμα αλλά, αν και τρέχει ο κώδικας, πηγαίνει και μου βάζει εκατοντάδες στοιχεία μέσα στο αρχείο Test.txt.....

Τι κανω λάθος Γιώργο?

Παραθέτω τον κώδικα με την μετατροπή που έκανα

Sub CreateTextFile(sFile As String)
Dim nFile As Integer, sNum As String

'Ο επόμενος ελεύθερος αριθμός για ταυτότητα αρχείου
nFile = FreeFile

'Άνοιγμα αρχείου για εγγραφή δεδομένων
Open sFile For Output As #nFile

Do
sNum = Forms!StartForm.CurrentSVN


If sNum = "" Then
Exit Do
Else
Print #nFile, "" & sNum & ""
End If
Loop

Close #nFile

End Sub

kapetang 17-01-16 18:15

Γιώργο, όπως ήταν διαμορφωμένος ο κώδικας, παρουσιάζοντας διάφορα InputBox, έδινε τη δυνατότητα προσθήκης στο αρχείο πολλών αριθμών.

Γι’ αυτό που θέλεις δοκίμασε τον κώδικα:

Κώδικας:

Sub CreateTextFile(sFile As String)
    Dim nFile As Integer, sNum As String

    'Ο επόμενος ελεύθερος αριθμός για ταυτότητα αρχείου
    nFile = FreeFile

    'Άνοιγμα αρχείου για εγγραφή δεδομένων
    Open sFile For Output As #nFile

    sNum = Nz(Forms!StartForm.CurrentSVN, "")

    If sNum <> "" Then
        Print #nFile, "[" & sNum & "]"
    End If

    Close #nFile

End Sub


γιώργοςΚ 17-01-16 22:10

Καλησπέρα και πάλι Γιώργο και σε ευχαριστώ πολύ για την βοήθεια.

Θα δοκιμάσω την αλλαγή στον κώδικα αύριο και αν έχω οποιοδήποτε πρόβλημα θα επανέλθω ξανά.

Καλό βράδυ και ευχαριστώ ξανά

γιώργοςΚ 19-02-16 14:59

Καλησπέρα σε όλους τους φίλους,

Με την βοήθεια του φίλου μας Kapetang (τον οποίο ευχαριστώ θερμά και πάλι) έφτασα στο ζητούμενο του προβλήματος μου που ήταν στην ουσία η δημιουργία ενός Folder και ενός αρχείου .txt μέσα στο οποιο θα αποθηκεύονται διάφοροι αριθμοί.

Χρησιμοποιώντας λοιπόν τον κώδικα και την βοηθεια του Kapetag μπόρεσα δηλαδη να κάνω τα εξής:

Όταν φορτώνεται η φόρμα frmStart εκτελείται κώδικας, που ελέγχει αν υπάρχει το αρχείο “c:\Test\test.txt”.

Αν υπάρχει το αρχείο η διαδικασία τερματίζει.

Αν δεν υπάρχει:
1) Δημιουργείται ο φάκελος “c:\Test”, αν δεν υπάρχει.
2) Δημιουργείται το αρχείο “c:\Test\test.txt”.
3) Εισάγονται δεδομένα στο αρχείο από το χρήστη.

Τώρα όμως θα ήθελα και ένα δεύτερο σκέλος του ζητούμενου μου να μπορεί με κάποιο τρόπο να γίνεται: Θέλω να μπορω να προσθέτω ή αντιστόφως να σβήνω κάποια απο τα δεδομένα που υπάρχουν σε αυτο το αρχειο. Δηλαδή:

¨Εστω ότι υπάρχει ο φάκελος και το αρχείο στην διαδρομή “c:\Test\test.txt”.
1) Να μπορώ μεσω μιας εντολης να προσθετω και άλλα δεδομένα στο file .txt (σε νέα γραμμή)
2) Να μπορώ επίσης μέσω μιας εντολής να εντοπίζω τον αριθμό στο αρχειο .txt που θέλω να διαγράψω και να μπορώ να το κάνω..

Θα εκτιμούσα την βοήθεια σας και προσδοκώ πως το θα επιτευχθεί το ζητούμενο με την δικής σας βοήθεια.

Με εκτίμηση,

vraxnakisg 19-02-16 22:33

1 Συνημμένο(α)
Γεια σου φιλέ Γιώργο,
Πιστεύω να είναι αυτό που θέλεις.
Δες το συνημμένο αρχείο.

γιώργοςΚ 19-02-16 23:02

Καλησπέρα Γιώργο,

Υπερ-πολύτιμη βοήθεια σου φίλε μου..!! Με καλύπτει η λύση σου αλλά χωρίς τα Input Boxes..! Θα προσπαθήσω να τα αφαιρέσω και να διαμορφώσω τον κώδικα έτσι ώστε να παίρνει τιμή απο κάποιο πεδίο που θέλω.. Επλίζω Γιώργο μου να τα καταφέρω (δεν είμαι έμπειρος σε θέμα vba)

Σε ευχαριστώ φίλε μου, εάν βρώ δυσκολία θα επανέλθω.

Φιλικά,


Η ώρα είναι 14:59.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2