freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Κώδικας VBA Access


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [6 Μηνύματα]      Bookmarks Tags: accessκώδικαςvba Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
Meteora


Μέλος από: 21 Νοε 2008
Μηνύματα: 13
Περιοχή: Θεσσαλονίκη
View users profile
ΜήνυμαΣτις: 29 Νοε 2008 14:23    Θέμα: Κώδικας VBA Access
Περιγραφή θέματος: Ο κώδικας ελέγχει την μετάβαση στην επόμενη εγγραφή
Απάντηση με παράθεση  Mark this post and the followings unread

Καλημέρα σε όλους σας
Μετά απο αρκετή δουλειά(*) έφτιαξα ενα κώδικα ο οποίος σε φόρμα εμφανίζει την επόμενη εγραφή. Δουλεύει!
Δεν ξέρω όμως :
1. Αν αυτός ο κώδικας ειναι ο ελάχιστος σε μέγεθος
2. Αν χρειάζεται ενίσχυση οπωσδήποτε ή μπορεί να δουλέψει ως έχει (υποψιάζομαι ΝΑΙ...)

Έφτιαξα αυτόν τον κώδικα διότι ο οδηγός έφτιαχνε μακροεντολή για το κουμπί της μετάβασης στην επόμενη εγγραφή. Σε αυτή τη μακροεντολή-με τις γνώσεις μου- μπορούσα να ελέγξω ΜΟΝΟ το περιεχόμενο του μηνύματος (Αυτό το μήνυμα που βγαίνει όταν "πιάνεις πάτο"!) Δεν μπορούσα να ελέγξω τη κενή φόρμα της νέας εγγραφής.

(*) Είμαι καινούργιος στο περιβάλλον του ...δίδυμου VBA & Access και τα αγγλικά μου ειναι προσαρμοσμένα σε λέξεις-κλειδιά, γι'αυτό γράφω περι... αρκετής δουλειάς.


Private Sub Εντολή6_Click()
Dim rst As DAO.Recordset
Set rst = Forms!t2.RecordsetClone 't2 το όνομα της φόρμας
rst.MoveNext

If rst.EOF Then
MsgBox "Τέλοοοοοος!"
rst.MoveFirst
End If
Forms!t2.Bookmark = rst.Bookmark
End Sub


Με εκτίμηση σε όλους σας
Meteora - Καλαμπάκα
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 03 Δεκ 2008 13:19    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Αγαπητέ Meteora μπράβο που ασχολείσαι με VBA και καλή συνέχεια.

Λοιπόν ορίστε και μία άλλη έκδοση του κώδικά σου :

κώδικας:

On Error GoTo ErrHandler
    DoCmd.GoToRecord , , acNext
    If Me.CurrentRecord = Me.RecordsetClone.RecordCount Then MsgBox "Τελευταία εγγραφή"
    If Me.NewRecord = True Then MsgBox "Νέα εγγραφή"
ErrHandler:
    If Err.Number = 2105 Then Resume Next


DoCmd.GoToRecord , , acNext
Μας μεταβαίνει σε επόμενη εγγραφή
Παρακάτω αναφέρουμε ότι αν η τρέχουσα εγγραφή είναι όσο και το πλήθος των εγγραφών της φόρμας είσαι στην τελευταία εγγραφή
Και τέλος αν η καινούργια εγγραφή είναι true είσαι σε νέα εγγραφή
Στο Err.Number όταν δεν μπορεί να μεταβεί σε επόμενη εγγραφή γιατί έφτασε στο τέλος επιστρέφει τον αριθμό λάθους 2105 και για να μην εμφανίζει λάθος μήνυμα της Access τότε κάνει resume δηλαδή μεταβαίνει στην επόμενη εντολή του κώδικα.

Φιλικά

kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Meteora


Μέλος από: 21 Νοε 2008
Μηνύματα: 13
Περιοχή: Θεσσαλονίκη
View users profile
ΜήνυμαΣτις: 03 Δεκ 2008 22:32    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε Kon73
Θερμά ευχαριστώ για την ευγενική σου προσφορά προς εμένα και προς το ...Forum.
Ο κώδικας που πρότεινες ειναι σύντομος - κατανοητός - διαχειρίζεται λάθη και ειναι προσαρμόσιμος. Ποιο το Err Number οταν δεν υπάρχει δυνατότητα να κινηθείς πέραν της ... αρχής (BOF);
Με εκτίμηση
Meteora
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 03 Δεκ 2008 22:59    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε Meteora καλησπέρα,

Ο κωδικός είναι ο ίδιος 2105 είτε για το τέλος είτε για την αρχή της εγγραφής. Με το trap του error απλά έχουμε την απόκρυψη του μηνύματος από την Access ("You can't go to the specified record") ("Δεν μπορείτε να μεταβείτε στην συγκεκριμένη εγγραφή") ώστε να έχουμε πιο επαγγελματική εφαρμογή.

Φιλικά

kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Meteora


Μέλος από: 21 Νοε 2008
Μηνύματα: 13
Περιοχή: Θεσσαλονίκη
View users profile
ΜήνυμαΣτις: 04 Δεκ 2008 15:53    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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

...Η μετάβαση στη προηγούμενη εγγραφή φόρμας, γίνεται με τον παρακάτω αναγραφόμενο κώδικα. Επιπλέον τούτη πρόταση-κώδικας συνεργάζεται τέλεια με αυτή που προτείνει πιο πάνω ο Kon73

Private Sub Εντολή11_Click()

If Me.CurrentRecord = 1 Then
MsgBox "Πρώτη εγγραφή"
DoCmd.GoToRecord , , acNewRec
End If
DoCmd.GoToRecord , , acPrevious

End Sub

Παρακαλώ θερμά αν υπάρχει κάποια micro είτε macro ένσταση ή κάποια πρόταση βελτίωσης, ας κατατεθεί για να κλείσει -τρόπος του λέγειν- ο κύκλος που αφορά μεταβάσεις μπρός-πίσω σε φόρμα.

Με εκτίμηση σε όλους
Meteora
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 04 Δεκ 2008 16:31    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε Meteora,

H εγγραφή που ελέγχει το me.currentrecord=1 δεν ελέγχει αν τυχόν βρίσκεσαι σε νέα εγγραφή. Δηλαδή φαντάσου ότι ο πίνακας είναι κενός και η φόρμα σου τότε θα έχει την πρώτη εγγραφή σε κατάσταση εισαγωγής νέας εγγραφής. Οπότε τότε δεν είναι σωστό να θεωρούμε ότι βρισκόμαστε στην πρώτη εγγραφή αφού ουσιαστικά βρισκόμαστε σε νέα εγγραφή.

Επομένως συμπληρώνω και εισάγω
κώδικας:

If Me.CurrentRecord = 1 and me.NewRecord=false Then


Αυτά έχω να προσθέσω.

Φιλικά

kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [6 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Προβλημα με υπολογισμο ΦΠΑ στην Access 0 master3763 27 Νοε 2016 17:31
master3763 Εμφάνιση τελευταίου μηνύματος
Δημιουργία Βάσης Δεδομένων MS Access με αντιστοιχιση σε γραφικό στοιχείο 1 Charalampos77 22 Ιουλ 2016 13:22
cordis Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 03 Δεκ 2016 21:45 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos