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

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

 

 

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

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

Κώδικας:
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
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
 


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

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα 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


Η ώρα είναι 10:10.