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

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

απενεργοποιηση του wheel για τις εγγραφές σε μια φόρμα...


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


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 01:23    Θέμα: απενεργοποιηση του wheel για τις εγγραφές σε μια φόρμα...
Περιγραφή θέματος: Πως απενεργοποιούμε το ροδάκι από το ποντίκι ώστε να μην εναλλάσει τις εγγραφές?
Απάντηση με παράθεση  Mark this post and the followings unread

Έχω ένα θεματάκι και δεν ξέρω πως και αν γίνεται να το λύσω, οταν ανολιγω μια φόρμα στην access και χρησιμοποιήσω το wheel από το ποντίκι τότε με μετακινεί στις εγγραφές. Πως μπορώ να το αποτρέψω ατό???

και δεύτερον

πως μπορώ όταν πατώντας ένα κουμπί σε μια φόρμα το οποίο ανοίγει μια άλλη να γίνεται η πρώτη φόρμα ανενεργή μέχρι να κλείσω την δεύτερη. Μια πρόχειρη σκέψη είναι η μακροεντολές. Γίνεται?

_________________

Ειδήσεις από όλη την Ελλάδα
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 01:34    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

το δεύτερο βρήκα πως γίνεται!

_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

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


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

Το δεύτερο όντως λύνεται εύκολα με την επιλογή στις ιδιότητες της φόρμας στην καρτέλα ΑΛΛΑ-ΑΠΟΚΛΕΙΣΤΙΚΗ- να βάλουμε την τιμή ΝΑΙ.

Όσο τώρα για το wheel του ποντικιού.
Μία λύση αρκετά μπελαλίδικη είναι εδώ από την Microsoft link to Microsoft και αφορά Access 2000
http://support.microsoft.com/?id=278379
Εννοώ μπελαλίδικη καθότι έχει το dll που πρέπει να εισαχθεί καθώς και πολύ περισσότερο κώδικα.

Για Access XP και νεότερη έκδοση όπου έχει το Event το MouseWheel εκεί τα πράγματα γίνονται πιο απλά. Χρειάζεται να έχεις στην εγγραφή σου ένα ID μοναδικό ώστε να λειτουργήσει ο τρόπος που προτείνω. Ας ονομάσουμε το πεδίο ως ID.
Θα πρέπει να εισάγεις σε 3 events κώδικα.
Στο Event Mousewheel της φόρμας

κώδικας:

    Me.Filter = "ID=" & me.ID
    Me.FilterOn = True
    Me.AllowAdditions = False

Τι κάνουμε εδώ φιλτράρουμε την φόρμα με το ID όταν λειτουργούμε την ρόδα του ποντικιού και έτσι δεν μετακινείτε μπρος πίσω.
Για να μετακινούμαστε στις εγγραφές με τα πλήκτρα πχ βελάκια πάνω κάτω ή με πλήκτρα που έχουμε δημιουργήσει βάζουμε για την μεν 1η περίπτωση
Στο Event KeyDown της φόρμας
κώδικας:
If KeyCode = vbKeyDown Or KeyCode = vbKeyUp Then
    Dim varID As Variant, RcdSet As DAO.Recordset
     varID = Me.ID
    Me.FilterOn = False
    Set RcdSet = Me.RecordsetClone
    RcdSet.FindFirst ("ID=" & varID)
    Me.Bookmark = RcdSet.Bookmark
    Me.AllowAdditions = True
Else
    Me.FilterOn = True
End If

Για την δεύτερη με τα πλήκτρα δηλαδή (Όχι τα πλήκτρα που δίνει η Access με τα αστεράκια κλπ)
κώδικας:
    Dim varID As Variant, RcdSet As DAO.Recordset
     varID = Me.ID
    Me.FilterOn = False
    Set RcdSet = Me.RecordsetClone
    RcdSet.FindFirst ("ID=" & varID)
    Me.Bookmark = RcdSet.Bookmark
    Me.AllowAdditions = True

Εκεί χρησιμοποιούμε κατάργηση της φόρμας και εύρεση του ID για να μας μεταφέρει στην εγγραφή που ήμασταν. (Γιατί με την κατάργηση του Filteron=False, μας επιστρέφει αυτόματα στην πρώτη εγγραφή).
Και στο 3ο Event Current της Φόρμας
κώδικας:

    Me.Filter = "ID=" & Me.ID


Αυτά φαίνονται λίγο πολύπλοκα αλλά είναι μια τεχνική που δεν της βρίσκεις στο Internet ή πουθενά αλλού απλά για την μετακίνηση από εγγραφή σε εγγραφή κινείσαι με βελάκια ή με όποιο ορίσεις εσύ στο Event KeyDown.

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

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


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 13:28    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ευχαριστώ πολύ για το ενδιαφέρον και την απάντηση, τώρα είμαι στη δουλειά! θα το κοιτάξω το βράδυ στο σπίτι
Ευχαριστώ πολύ! και πάλι

_________________

Ειδήσεις από όλη την Ελλάδα
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 21:57    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Είναι καλό απλά αν δουλέψω μια φορά το wheel, μετά δεν λειτουργούν ούτε τα βελάκια , ούτε τα κουμπιά που βάζω στη φόρμα να πηγαίνει προηγούμνη-επόμενη εγγραφή (Έχω απενεργοποιήσει τους δείκτες εγγραφών)

_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

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


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

Αν έχεις βάλεις όλα τα Events και ιδιαίτερα το KeyPress για το κάτω πάνω θα πρέπει να σου δουλέψει.

Αν θέλεις στείλε μου σε PM την βάση σου και εφόσον την δω και την διορθώσω, σου αναφέρω που έχεις κάνεις λάθος ή ακόμα και αν έχω παραλείψει κάτι εγώ. Να σου αναφέρω ότι κάπου στον κώδικα γίνεται χρήση του DAO Recordset που πρέπει να έχει γίνει σχετική δήλωση της στην Βάση.

Φιλικά
kon73

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


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 23:38    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Αυτό με το recordset δεν το ξέρω να πω την αλήθεια,

έβαλα στα event

mousewheel
keydown
keypress

αντίστοιχα... σωστά ?

_________________

Ειδήσεις από όλη την Ελλάδα
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 23:42    Θέμα: Ας πούμε σε αυτό...
Περιγραφή θέματος: Ας πούμε σε αυτό...
Απάντηση με παράθεση  Mark this post and the followings unread

πως θα γινόταν?



test.rar
 Description:

Download
 Filename:  test.rar
 Filesize:  9.25 KB
 Downloaded:  300 Time(s)


_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

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


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

Να ρωτήσω μήπως έχεις Access 2000? Θα δω τώρα την βάση σου και θα δω αν είναι να το βάλω σε άλλο Event αντί του MouseWheel
Πάντως σε Access Xp που το δοκίμασε ήταν οκ.

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

Last edited by kon73 on 14 Νοε 2008 00:00, edited 2 times in total
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 13 Νοε 2008 23:47    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Έχω access 2003

δουλεύει το κλείδωμα με το mousewheel,
απλά μετά αν πατήσω τα κουμπιά που έχω βάλει με wizard να με πηγαίνουν σε προηγούμενη και επόμενη εγγραφή, κάτι δεν πάει καλά

και όταν φτάνει στην τελευταία εγγραφή κάτι συμβαίνει...

_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

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


View users profile Visit posters website
ΜήνυμαΣτις: 14 Νοε 2008 00:00    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Επίσης επειδή δεν έχω Access XP εδώ στο σπίτι, δες αν είναι και μία επιλογή που δεν σου είπα και είναι στην καρτέλα Event να βάλεις KeyPreview Yes ώστε να μπορεί η φόρμα και όχι το κάθε αντικείμενο να ενεργοποιεί το KeyDown για βελάκια πάνω κάτω.

Αν έχεις MSN στείλε μου PM ώστε να μιλήσουμε και Online.

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

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


View users profile Visit posters website
ΜήνυμαΣτις: 14 Νοε 2008 01:33    Θέμα:
Περιγραφή θέματος: Οκ.
Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε majuranus
χωρίς να έχουμε το Event MouseWheel οπότε δουλεύει και σε Access 2000 ορίστε η λύση την οποία δίνω και στο mdb αρχείο

Στα δύο Events Form KeyDown με όπως είπαμε το KeyPreview ΝΑΙ και στο Open της Φόρμας.

κώδικας:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim VarID As Variant
On Error Resume Next
If Me.NewRecord = False Then
    If KeyCode = vbKeyDown Or KeyCode = vbKeyUp Then
        VarID = Me.id
        Me.FilterOn = False
        Dim RcdSet As DAO.Recordset
        Me.Filter = "ID=" & VarID
        Set RcdSet = Me.RecordsetClone
        RcdSet.FindFirst ("ID=" & VarID)
        Me.Bookmark = RcdSet.Bookmark
        If KeyCode = vbKeyDown Then DoCmd.GoToRecord , , acNext
        If KeyCode = vbKeyUp Then DoCmd.GoToRecord , , acPrevious
        VarID = Me.id
        Me.Filter = "ID=" & VarID
        Me.FilterOn = True
    End If
End If
End Sub

Private Sub Form_Open(Cancel As Integer)
        Me.Filter = "ID=" & Me.id
        Me.FilterOn = True
        Me.AllowAdditions = False
End Sub



testok.rar
 Description:

Download
 Filename:  testok.rar
 Filesize:  15.91 KB
 Downloaded:  300 Time(s)


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


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 14 Νοε 2008 02:32    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δεν μπορώ να κατεβάσω το αρχείο σου φίλε...

_________________

Ειδήσεις από όλη την Ελλάδα
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 14 Νοε 2008 02:36    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Άκυρο, το κατέβασα όλα οκ ευχαριστώ πολύ για την πολύτιμη βοήθεια!!! έχω και ένα άλλο θεματάκι βέβαια τώρα αλλά αύριο...

_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

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


View users profile Visit posters website
ΜήνυμαΣτις: 17 Νοε 2008 08:24    Θέμα:
Περιγραφή θέματος: Και για Access XP και νεότερη
Απάντηση με παράθεση  Mark this post and the followings unread

Έκανα και κάποιες διορθώσεις στο αρχικό που ήταν για Access XP και νεότερη οπότε αποστέλλω και αυτό το αρχείο καθότι ο κώδικας του είναι γρηγορότερος από τον κώδικα για την Access 2000. Ο κώδικας για την Access 2000 λειτουργεί σε όλες τις εκδόσεις της Access.

ΠΡΟΣΟΧΗ λειτουργεί μόνο σε Access XP και νεοτέρη. (Η αιτία είναι ότι η Access 2000 δεν εμπεριέχει το Event MouseWheel οπότε και αλλάζει η φιλοσοφία του κώδικα)

Φιλικά

Kon73



testXpok.zip
 Description:

Download
 Filename:  testXpok.zip
 Filesize:  18.7 KB
 Downloaded:  291 Time(s)


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