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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 07-03-12, 19:31
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 49
Προεπιλογή

Τάσο ήσουν αναλυτικότατος.
Μόλις βρω χρόνο θα μελετήσω όλα αυτά που μου έγραψες. Νομίζω ότι θα μου φανούν χρήσιμα και σε άλλα πράγματα που θέλω να φτιάξω.
Σ'ευχαριστώ πολύ!!!
Απάντηση με παράθεση
  #2  
Παλιά 07-03-12, 01:08
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα σε όλους!

Σάκη ο κώδικας που υπάρχει στο μήνυμα σου:
Κλείνει την αρχική φόρμα "Pelates".
Ανοίγει τη φόρμα "Edit_Pelates" με κριτήριο το ID της τρέχουσας εγγραφής της αρχικής
("Pelates") που το έχεις βάλει προηγουμένως στη μεταβλητή stLinkCriteria.

Ο δικός μου κώδικας δεν κάνει ακριβώς τα ίδια με τον δικό σου.

Τι κάνει ο κώδικας αυτός :

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

Αποθηκεύει τυχόν μη αποθηκευμένη εγγραφή για να μπορέσει να την εμφανίσει στη φόρμα "Edit_Pelates".

Ανοίγει τη φόρμα "Edit_Pelates" σε παράθυρο διαλόγου αποκλείοντας έτσι κάθε
ενέργεια σε οποιοδήποτε άλλο σημείο της εφαρμογής εκτός από την ίδια τη φόρμα.

Παράλληλα, επειδή φόρμα "Edit_Pelates" σε παράθυρο διαλόγου, ο κώδικας που την άνοιξε διακόπτεται και θα συνεχίζει να εκτελείται μόνο όταν εκείνη κλείσει.

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

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

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

Όσο για το φίλτρο που δεν θέλεις να εφαρμόζεται στη φόρμα "Edit_Pelates" θα πρέπει να
τροποποιηθεί ο κώδικας στη φόρμα "Pelates" αλλά και να προστεθεί ο παρακάτω κώδιικας στη φόρμα "Edit_Pelates":

Κώδικας:
Private Sub Form_Load()
    Dim rs As Object, CurrentID As Long
    CurrentID = Nz(Me.OpenArgs)
    If CurrentID = 0 Then
        DoCmd.GoToRecord , , acNewRec
    Else
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[kwdikos_pelati] = " & CurrentID
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
        rs.Close
    End If
End Sub
Στο συνημμένο μπορείς να δεις ένα παράδειγμα.


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

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb AccOpenEditForm.mdb (252,0 KB, 205 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Άνοιγμα φόρμας επιλέγοντας εγγραφή noname Access - Ερωτήσεις / Απαντήσεις 2 18-02-16 10:39
Μετάβαση απο σύνθετο πλαίσιο σε εγγραφή soc07 Access - Ερωτήσεις / Απαντήσεις 0 25-02-11 11:23
[ Φόρμες ] ΜΕΤΑΒΑΣΗ ΣΕ ΕΓΓΡΑΦΗ gregory_m Access - Ερωτήσεις / Απαντήσεις 2 27-09-10 22:26
Άνοιγμα φόρμας με F5 mdragon Access - Ερωτήσεις / Απαντήσεις 2 23-04-10 17:05
Κενή εγγραφή στο τέλος συνεχούς φόρμας stavros2244 Access - Ερωτήσεις / Απαντήσεις 3 09-04-10 07:45


Η ώρα είναι 17:35.