Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Εκθέσεις ] Μορφοποίηση κειμένου (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1164-morfopoiisi-keimenoy.html)

dimitris p 22-05-11 10:37

Μορφοποίηση κειμένου
 
1 Συνημμένο(α)
Καλημέρα φίλοι μου.
Αυτό που προσπαθώ να κάνω είναι να ενώσω σε ένα πλαίσιο κειμένο μιας έκθεσης διάφορα πεδία(πχ Επώνυμο, Όνομα, Έτος Γέννησης κλπ) με την διαφορά ότι θέλω κάποιο από αυτά τα πεδία να έχει διαφορετική μορφοποίηση από τα άλλα (πχ να έχει έντονη γραφή ή διαφορετικό χρώμα ή υπογράμμιση κλπ).
Δεν ξέρω αν μπορεί να γίνει. Προσπάθεισα να το κάνω αυτό με την συνάρτηση Format αλλά δεν τα καταφέρνω.

Ανεβάζω μια βάση για πειραματισμό.
Φιλικά Δημήτρης...

kapetang 22-05-11 15:54

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

Δημήτρη, στο αρχείο που επισυνάπτω προσπάθησα να υλοποιήσω το ζητούμενο.
Χρησιμοποιώ δύο στοιχεία κειμένου:
1) To txtName που περιέχει όλο το κείμενο που θα έχει κανονική μορφοποίηση.
2) Το txtGenesi με το έτος γέννησης και μορφοποίηση «Έντονα».
Επειδή το μήκος κειμένου του txtName είναι μεταβλητό, χρησιμοποιώ τον παρακάτω κώδικα για να τοποθετήσω το στοιχείο txtGenesi:
Κώδικας:

Private Sub Λεπτομέρεια_Format(Cancel As Integer, FormatCount As Integer)
    Me.txtGenesi.Move Me.txtName.Left + TextWidth(Me.txtName) + 50, Me.txtName.Top
End Sub

Ελπίζω να σε καλύπτει

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

dimitris p 22-05-11 16:32

Καλησπέρα σε όλους.
Γιώργο ευχαριστώ για την βοήθεια.
Είναι μια απλή και καλή λύση αλλά το πρόβλημά μου είναι ότι αυτό θέλω να το εφαρμόσω σε μια έκθεση σε στύλ βιογραφικού σημειώματος ή συστατικής επιστολής όπου θα πρέπει μέσα στη ροή του κειμένου να εφαρμόζεται κάποιο είδος μορφοποίησης (κυρίως έντονη γραφή) σε διάφορα σημεία.
Και πάλι ευχαριστώ
Φιλικά Δημήτρης...

Meteora 22-05-11 18:06

Καλησπέρα
Μπορείς να κάνεις σπουδαία διαχείριση πάνω στο ζήτημα της μορφοποίησης, αν δουλέψεις με το Word (καρτέλα 'Στοιχεία αλληλογραφίας' στο 2007 ), η οποία παίρνει δεδομένα από κάποιο πίνακα της Access.
Προϋποθέτει όμως να γνωρίζεις τις δυνατότητες αυτής της καρτέλας.

Με εκτίμηση

Νίκος Δ.

dimitris p 23-05-11 18:00

Καλησπέρα σε όλους.
Νίκος ίσως αυτό που προτείνεις να είναι έχει πολύ περισσότερες δυνατότητες μορφοποίησης αλλά δεν θα ήθελα να χρησιμοποιήσω δύο αρχεία ένα Word και ένα Access για να κάνω μια δουλειά. Θα ήθελα να γινόταν αυτό μέσα από την Access. Βέβαια ψάχνοντας στο internet βρήκα διάφορες λύσης για μορφοποίηση, αλλά αφορούν δεδομένα τύπου ημερομηνίας ή αριθμούς ή ποσοστό και τίποτε γι' αυτό που ψάχνω. Θα συνεχίσω το ψάξιμο μήπως και ανακαλύψω κάτι, αλλιώς θα το αφήσω χωρίς μορφοποίηση.
Αν τελικά βρω κάτι θα το αναφέρω.

Φιλικά Δημήτρης...

Tasos 23-05-11 20:53

Καλησπέρα Δημήτρη!

Μπορείς να μετατρέψεις τμήματα περιεχόμενου ενός πεδίου χρησιμοποιώντας τις ενσωματωμένες συναρτήσεις μετατροπής που υπάρχουν στην Access πχ. Format().

Σε καμία περίπτωση δεν θα μπορέσεις να μορφοποιήσεις τμήματα περιεχόμενου ενός πεδίου.

Θα πρέπει να επιλέξεις:
  • Αυτό που ήδη σου πρότεινε ο Νίκος (Συγχώνευση Αλληλογραφίας στο Microsoft Word)
  • Να χρησιμοποιήσεις χωριστά πεδία για να μπορέσεις να τα μορφοποιήσεις όπως επιθυμείς.
  • Να χρησιμοποιήσεις Αυτοματισμό Access > Word (απαιτεί αρκετές γνώσεις των αντικειμένων Access και Word καθώς και VBA).

Σημείωση: Σε Accees 2007 - 2010 υπάρχει η δυνατότητα επιλογής μορφής ενός πεδίου πίνακα (και κατ επέκταση πεδίου φόρμας) "Εμπλουτισμένο κείμενο".
Στο πεδίο πρέπει να έχει οριστεί ο τύπος δεδομένων " Υπόμνημα.

Καλή συνέχεια!

Φιλικά

Τάσος

ΕλένηΑ 23-06-15 22:12

ΚΑΛΗΣΠΕΡΑ,ΘΑ ΗΘΕΛΑ ΜΙΑ ΣΥΝΑΡΤΗΣΗ ΣΤΗΝ ACCESS ΜΕ ΤΗΝ ΟΠΟΙΑ ΝΑ ΜΠΟΡΩ ΣΕ ΕΝΑ ΠΕΔΙΟ ΠΟΥ ΕΙΝΑΙ ΚΕΙΜΕΝΟ ΝΑ ΟΡΙΣΩ ΣΥΓΚΕΚΡΙΜΕΝΟ ΑΡΙΘΜΟ ΧΑΡΑΚΤΗΡΩΝ(π.χ πεδίο ονοματεπώνυμο -50 χαρακτήρες)

Spirosgr 23-06-15 23:32

Ελένη καλώς ήρθες στην παρέα μας.
Δεν χρειάζεσε κάποια συνάρτηση, για το θέμα αυτό.
Στην σχεδίαση, αφού ορίσεις το όνομα και τον τύπο δεδομένων (ως κείμενο),
κάτω αριστερά, στην καρτέλα «Γενικές» μπορείς να ορίσεις και το πλήθος των χαρακτήρων.

ΕλένηΑ 24-06-15 08:11

Σπύρο Καλημέρα και ευχαριστώ.

ΕλένηΑ 24-06-15 08:17

Θέλω όμως το εξής:
Έχω ένα πίνακα στην Access με ένα πεδίο όπου είναι σειρά χαρακτήρων(προέρχεται από txt αρχείο)
π.χ 01 236987 ΕΛΕΝΗ 0000
01-02 Τιμολόγιο Πώλησης 12 0,36
και με ερώτημα θέλω να δημιουργήσω ένα νέο πίνακα με πεδία:
πεδίο1-mid(1;2) , πεδίο2=mid(4;6) κ.τ.λ.Όμως η κάθε γραμμή έχει άλλο format, οπότε θέλω μέσα από
την sql να ορίσω το format του καθενός.
Ευχαριστώ

kapetang 24-06-15 14:45

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

Ελένη, αν κατάλαβα, θέλεις να διαιρέσεις το κείμενο ενός πεδίου σε τμήματα και κάθε τμήμα να αποτελέσει ξεχωριστό πεδίο.

Ως χαρακτήρας διαίρεσης θα χρησιμοποιεί το διάστημα (" ").

Για την περίπτωση αυτή δες μια πρόταση στο συνημμένο.

Υπάρχουν δύο προσεγγίσεις:

1) Η διαίρεση γίνεται κατά την εισαγωγή του κειμένου από το αρχείο *.txt στη ΒΔ.

Στην κορδέλα επιλέγουμε την εντολή: External Data>Import & Link>Text File και ακολουθούμε τις οδηγίες του οδηγού, που θα ανοίξει.

Έτσι δημιουργήθηκε ο πίνακας Source από το αρχείο Source.txt

2) Η διαίρεση γίνεται με ερώτημα και τη βοήθεια της προσαρμοσμένης συνάρτησης SplitText (δημιουργήθηκε με κώδικα VBA).

Η λύση αυτή φαίνεται στο ερώτημα qrySplitText

Γιώργος

ΕλένηΑ 25-06-15 15:43

Σπύρο καλησπέρα,
Μήπως έχεις βρει κάτι στην μορφοποίηση κειμένου;
Ευχαριστώ

ΕλένηΑ 25-06-15 16:41

Γιώργο καλησπέρα,
Συγγνώμη τώρα είδα το μήνυμά σου.
Ευχαριστώ για την λύση.αυτό θέλω καθώς επίσης στο κάθε πεδίο που παράγεται στον πίνακα source να ορίσω Συγκεκριμένο πλήθος χαρακτήρων.πχ splitText(txt) as t1 10 χαρακτήρων.
Δηλαδή format(T1) =10 format(t2)=50 κ.τ.λ
Ευχαριστώ

kapetang 25-06-15 19:09

Καλησπέρα

Αφού δημιουργήσεις το πίνακα source, στη σχεδίαση, μπορείς να ορίσεις το μέγιστο μήκος των πεδίων κειμένου.

Ειλικρινά όμως δεν καταλαβαίνω τι ακριβώς θέλεις.

Μπορείς να ανεβάσεις ένα παράδειγμα και να εξηγήσεις αναλυτικά τι ακριβώς θέλεις να πετύχεις;

Γιώργος

ΕλένηΑ 25-06-15 22:19

Γραμμογράφηση αρχείου txt
 
1 Συνημμένο(α)
Καλησπέρα και πάλι.
¨Εχω το αρχείο parastatika neo(το έχω φτάσει σε αυτή τη μορφή μέσω access).
όπως βλέπεις είναι ένα αρχείο τιμολογίων με header και details.
θέλω σε κάθε γραμμή να χωρίσω τα πεδία(μετά το κενό είναι άλλο πεδίο) και να φτιάξω ένα νέο αρχείο txt αυτής τησ μορφής (θα επιλέξω τα πεδία που θέλω) με συγκεκριμένο format το καθένα για να το κάνω import σε εφαρμογή(εμπορικό πρόγραμμα).
Ελπίζω να το εξήγησα καλύτερα τώρα.
Ευχαριστώ.

kapetang 26-06-15 20:00

Καλησπέρα

Ελένη, το αρχείο που ανέβασες δε βοηθάει.

Επειδή βλέπω ότι χρησιμοποιείς συναρτήσεις VBA (MID), ίσως να σε βοηθήσουν τα παρακάτω:

Η συνάρτηση String(10,"@") δημιουργεί ένα string (συμβολοσειρά) από 10 χαρακτήρες @.

Η συνάρτηση Format(T1, String(50,"@")) προσθέτει μπροστά από τη τιμή της μεταβλητής T1 κενά διαστήματα ώστε να αποκτήσει τελικά μήκος 50 χαρακτήρων.

Η συνάρτηση Format(T1, "!" & String(50,"@")) προσθέτει στο τέλος της τιμής της μεταβλητής T1 κενά διαστήματα ώστε να αποκτήσει τελικά μήκος 50 χαρακτήρων.

Καλή συνέχεια

Γιώργος

ΕλένηΑ 29-06-15 08:37

Οκ.Ευχαριστώ.
Με βοήθησες πάρα πολύ

kouk 07-10-15 16:57

Διαχωρισμός Text σε πεδία
 
1 Συνημμένο(α)
Καλησπέρα σε όλους...
αφού συγχαρώ το forum αυτό και όλους εσάς του expert που ανοίγετε τα στραβά σας σε εμάς τους άσχετους θα ήθελα να παραθέσω το πρόβλημά μου που είναι παρόμοιο με αυτό που αναφέρεστε εδώ.
Έχω μια βάση στην οποία καταχωρώ τους ασθενείς μου και για λόγους συντομίας θα ήθελα να συμπληρώνω τα δημογραφικά στοιχεία του καθενός αντλώντας πληροφορίες από την ηλεκτρονική πλατφόρμα που συνδεόμαστε εμείς για να συνταγογραφήσουμε ή να δώσουμε παραπεμπτικά. Εγώ μπορώ να πάρω data με το copy από την βάση HTML της ηλεκτρονικής πλατφόρμας ή από το αρχείο PDF που βγάζω τυπώνοντας την συνταγή.
Θα ήθελα λοιπών αυτό που κάνω copy είτε με τον έναν είτε με τον άλλο τρόπο (όπιο είναι εφικτό) να μπορώ να το κάνω Paste σε ένα Tab της βάσης και από εκεί να χωρίζετε αυτό το κείμενο και να ενημερώνει τα κατάλληλα πεδία.
Δηλ.
Κάνω Copy το κείμενο "Επίθετο Σωτηρίου Όνομα Σωτήριος Πατρώνυμο Λαζάρου...."
Το επικολλώ σε ένα πεδίο? της βάσης και από εκεί ενημερώνονται τα πεδία..
Επίθετο Σωτηρίου
Όνομα Σωτήριος
Πατρώνυμο Λαζάρου

Ευχαριστώ για την υπομονή σας να διαβάσετε όλα αυτά και θα σας ήμουν υπόχρεος αν μου δίνατε μια λύση.

Επισυνάπτω ένα παράδειγμα όπου έχω αντιγράψει τα στοιχεία από το PDF και από το HTML

kapetang 07-10-15 20:33

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

Σωτήρη, δες μια πρόταση στο συνημμένο.

Σημειώνω ότι η λύση στηρίζεται στο όνομα των πεδίων στον πίνακα και στο κείμενο που αντιγράφεις.

Αν συνεπώς γίνουν αλλαγές στα ονόματα ο κώδικας θα πρέπει να προσαρμοστεί.

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

kouk 07-10-15 21:49

Απλά θεός......

Γιώργο σ ευχαριστώ πολύ για την άψογη και πολύ γρήγορη απάντησή σου!!!!

:worthy:


:icon_hihi:

kouk 08-10-15 11:49

Something's wrong
 
1 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 22099)
Καλησπέρα

Σωτήρη, δες μια πρόταση στο συνημμένο.

Σημειώνω ότι η λύση στηρίζεται στο όνομα των πεδίων στον πίνακα και στο κείμενο που αντιγράφεις.

Αν συνεπώς γίνουν αλλαγές στα ονόματα ο κώδικας θα πρέπει να προσαρμοστεί.

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

Γιώργο καλημέρα.

Θα ήθελα για μια ακόμη φορά να σε ευχαριστήσω για τον χρόνο που ξόδεψες για την βάση μου!!!
Όμως η χαρά μου κράτησε λίγο αφού μόλις ανακάλυψα ότι κάτι δεν πάει καλά... :dft004:
Η μορφοποίηση του κειμένου που σου έστειλα δεν είναι η σωστή και από ότι ανακάλυψα και η δομή του μπορεί να έχει μικρές διαφορές.:oooops:

Λεπτομέρειες στο Zip

Θα σε παρακαλούσα αν μπορέσεις να βοηθήσεις για μια ακόμα φορά.

Ευγνώμων :worthy:

kapetang 08-10-15 16:29

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

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

Η ηλικία δεν υπολογίζονταν, επειδή είχες ορίσει το πεδίο [Ημ. Γέννησης] ως κείμενο και όχι ως ημερομηνία.

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


Η ώρα είναι 20:15.

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


Search Engine Optimization by vBSEO 3.3.2