Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Αυτόματη εμφάνιση στοιχείων

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 19-03-11, 21:42
Όνομα: βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-06-2010
Μηνύματα: 4
Προεπιλογή Αυτόματη εμφάνιση στοιχείων

Καλησπέρα σας,
θέλω να ρωτήσω σχετικά με μια Βάση "lexiko" που επισυνάπτω .
Πρόκειται για ένα ελληνογερμανικό λεξικό.

Ανοίγοντας τη φόρμα ΚΑΤΑΧΩΣΗΣΗ βλέπουμε 2 πεδία
Ελληνικά Γερμανικά.

Θα ήθελα να πληκτρολογώ ένα γράμμα στα Γερμανικά και να εμφανίζεται όλη η λέξη αυτόματα .
Μπορεί να γίνει αυτό;
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Lexiko_2010-06-20.mdb (836,0 KB, 29 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 19-03-11, 23:39
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλησπέρα Βασίλη και καλωσόρισες στο φόρουμ!

Πολύ καλή η προσπάθεια σου! Weiter so!!

Πριν συνεχίσεις όμως οτιδήποτε θα πρέπει να γνωρίζεις:
  • Η εφαρμογή δεν θα τρέξει σε υπολογιστή που έχει διαφορετική τοπική ρύθμιση από την ελληνική.
    Με άλλα λόγια δεν θα μπορέσει να τρέξει σ ένα γερμανικό υπολογιστή.
  • Θα πρέπει να μετατρέψεις τη βάση σε μορφή Access 2000. Έχει καλύτερη απόδοση
    ειδικά σε πεδία με Unicode χαρακτήρες.
  • Κατά την την ταπεινή μου γνώμη:
    Το να εμφανίζεις μία και μοναδική λέξη αυτόματα καθώς πληκτρολογείς δεν βοηθά και πολύ.
    Μήπως είναι καλύτερο να εμφανίζονται όλες οι λέξεις σε λίστα που τα πρώτα τους
    γράμματα είναι ίδια με όσα έχεις πληκτρολογήσει και να επιλέξεις την επιθυμητή;
  • Ποιος χρησιμοποιεί την εφαρμογή; Ελληνόφωνος ή γερμανόφωνος;
    Αν είναι Ελληνόφωνος ίσως θα πρέπει να χρησιμοποιηθεί αλγόριθμος για φωνητική αναζήτηση (Phonetische Suche).

    Αν είναι γερμανόφωνος θα πρέπει να ορθογραφήσεις κάποια ουσιαστικά (Anfangsbuchstabe)
    αλλά και να διευκρινήσεις σε κάποια άλλα αν πρόκειται για "Trinken (das) ή trinken (Verb)".
    Διαφορετικά η αναζήτηση ναι μεν θα επιστρέψει αποτελέσματα αλλά η πληροφορία που θα πάρει ο χρήστης μπορεί να είναι λανθασμένη.
Τώρα από τεχνικής πλευράς....
Σου επισυνάπτω ένα παράδειγμα αναζήτησης εγγραφών σε μορφή Access 2000
χωρίς ούτε μια ετικέτα με ελληνικό όνομα
(τρέχει σε οποιονδήποτε υπολογιστή),
που ελπίζω να σε βοηθήσει.

Με εκτίμηση

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb LexikonSuche.mdb (184,0 KB, 60 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 20-03-11, 00:02
Όνομα: βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-06-2010
Μηνύματα: 4
Προεπιλογή Αυτόματη εμφάνιση στοιχείων

Τάσο , σ΄ ευχαριστώ πολύ για την απάντησή σου.

*Η εφαρμογή θα τρέξει σε ελληνικό υπολογιστή οπότε κανένα πρόβλημα

*Ναι, έχεις δίκιο να εμφανίζονται όλες οι λέξεις που τα γράμματά τους είναι ίδια με εκείνα που έχω πληκτρολογήσει.
Κάτι σαν εκείνες τις εφαρμογές "καταχώρησης αποδείξεων" στις οποίες πληκτρολογούμε τα πρώτα ψηφία του ΑΦΜ και εμανίζονται τα υπόλοιπα στοιχεία.
Απάντηση με παράθεση
  #4  
Παλιά 20-03-11, 09:31
Όνομα: βασίλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-06-2010
Μηνύματα: 4
Προεπιλογή Αυτόματη εμφάνιση στοιχείων

Τάσο ,
βλέποντας την παρέμβασή σου στην εφαρμογή νομίζω έκανες χρήση κώδικα visual basic , κάτι που για έναν αρχάριο είναι λίγο δύσκολο.
Μπορείς να μου πεις αν υπάρχει τρόπος να γίνει λίγο πιο εύκολα,
ώστε να φτάσουμε στο αποτέλεσμα μόνοι μας;
Απάντηση με παράθεση
  #5  
Παλιά 20-03-11, 10:57
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλημέρα σε όλους!
Παράθεση:
...Θα ήθελα να πληκτρολογώ ένα γράμμα στα Γερμανικά και να εμφανίζεται όλη η λέξη αυτόματα...
Αγαπητέ μου, δυστυχώς το ζητούμενο σου δεν αποτελεί κάποια έστω και κρυφή δυνατότητα της Access
και έτσι η ευεργετική χρήση της VBA αποτελεί μονόδρομο για την περίπτωση σου.

Από την άλλη, είναι στο χέρι σου να εμβαθύνεις τις γνώσεις σου (αν το επιθυμείς) για να μπορείς να αντιμετωπίζεις τέτοιες καταστάσεις με μεγαλύτερη ευκολία.

Το φόρουμ θα σε βοηθήσει πάνω σ αυτό αν φυσικά το θελήσεις κι εσύ.

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


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

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 20-03-11 στις 17:22.
Απάντηση με παράθεση
  #6  
Παλιά 21-03-11, 11:23
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Φίλε Τάσο μπορείς να μας πεις δυο λόγια για τον κώδικα που έγραψες κατά την αλλαγή στο πλαίσιο κειμένου και κατά την φόρτωση στο φόρμα.
Ευχαριστώ
Απάντηση με παράθεση
  #7  
Παλιά 21-03-11, 12:35
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλημέρα Τζίμη!
Βεβαίως!

Κώδικας:
Option Compare Database
Option Explicit

Const strSQL1 As String = "SELECT DEGR.ID, DEGR.DE, DEGR.GR FROM DEGR WHERE DEGR.DE Like '"
Const strSQL2 As String = "' & ""*"""
Const strSQL3 As String = " ORDER BY DEGR.[DE], DEGR.[GR]"


Private MyList As Access.ListBox

''Ο χρόνος απόκρισης της μεταβλητής  "MyList" είναι κατά πολύ μικρότερος από το χρόνο 
'απόκρισης αντικειμένων της φόρμας (πχ. Me.ListDict).

'Αν βάλω τη μεταβλητή μέσα στο   txtSearch_Change()
'θα πρέπει σε κάθε εκτέλεση του συμβάντος να αναζητείται το   Me.ListDict και να φορτωθεί 
'στη μνήμη.

'Για μένα δεν έχει νόημα να την φορτώνω κάθε φορά εκ νέου (όχι ιδιαιτέρα στο παράδειγμα μας
'αλλά σε διαδικασίες με πολλά Loop). 

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


'Το ίδιο γίνεται και με τις σταθερές  strSQL1, strSQL2, strSQL3 
'Αν τις βάλω στο txtSearch_Change() θα πρέπει κάθε φορά που εκτελείται να φορτώνονται εκ 
'νέου στη μνήμη.


Private Sub Form_Load()
    Set MyList = Me.ListDict
End Sub


Private Sub txtSearch_Change()
    MyList.RowSource = strSQL1 & Me.txtSearch.Text & strSQL2 & strSQL3
    
    'Για να δείς τα αποτελέσματα πρόσθεσε αφαίρεσε την απόστροφο από αυτή την παρακάτω γραμμή
    'Debug.Print strSQL1 & Me.txtSearch.Text & strSQL2 & strSQL3
    'Για να εμφανίσεις το παραπάνω αποτέλεσμα πάτησε τα πλήκτρα CTRL+G
    

End Sub

'RowSource = Προέλευση γραμμής του πλαισίου λίστας.

'Me.txtSearch.Text = Το κείμενο που περιέχεται  στο πεδίο όταν πληκτρολογείται.

'Η ιδιότητα "Text" ενός πεδίου κειμένου είναι διαθέσιμη μόνο όταν το πεδίο έχει την εστίαση 
'(Όταν ο κέρσορας είναι μέσα στο πεδίο).

Έτσι λοιπόν έχουμε:

 'MyList.RowSource = strSQL1 & Me.txtSearch.Text & strSQL2 & strSQL3
 'όπου Me.txtSearch.Text ) = το κείμενο προς αναζήτηση πχ. "Bevor"

'που σημαίνει ορίζουμε την Προέλευση γραμμής του πλαισίου λίστας εκ νέου

'με τη συμβολοσειρά  strSQL1 & Me.txtSearch.Text & strSQL2 & strSQL3

'που αν την μετατρέψουμε σε απλό κείμενο θα μας δώσει:

'SELECT DEGR.ID, DEGR.DE, DEGR.GR FROM DEGR WHERE DEGR.DE Like 'Bevor' & "*" 
'ORDER BY DEGR.[DE], DEGR.[GR]



'Με τη νέα Προέλευση γραμμής που ορίσαμε το πλαίσιο λίστας θα μας εμφανίσει αυτές τις 
'εγγραφές που αρχίζουν με τη συμβολοσειρά Bevor.
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #8  
Παλιά 21-03-11, 13:14
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Τάσο ήταν πολύ κατατοπιστικό, και αρκετά δύσκολο για μας που κάνουμε τα πρώτα βήματα σε VBA.
Να είσαι πάντα καλά.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] ΑΥΤΟΜΑΤΗ ΑΠΟΣΤΟΛΗ ΣΤΟΙΧΕΙΩΝ EXCEL ΣΕ MAIL kritsotis13 Excel - Ερωτήσεις / Απαντήσεις 0 29-06-16 11:28
Εμφάνιση - Απόκρυψη στοιχείων σε έκθεση pctechdr Access - Ερωτήσεις / Απαντήσεις 3 17-06-15 22:38
[Excel07] Αυτόματη μεταφορά στοιχείων από διαφορετικά φύλλα Excel ggatzos Excel - Ερωτήσεις / Απαντήσεις 0 28-06-13 21:07
[ Φόρμες ] Επιλογή από λίστα και εμφάνιση λοιπών στοιχείων. xristos Access - Ερωτήσεις / Απαντήσεις 4 14-01-12 16:03
Αυτόματη εμφάνιση peri Access - Ερωτήσεις / Απαντήσεις 18 21-10-11 01:41


Η ώρα είναι 11:43.