Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
Moderators:
Super-Moderators, WebDev Moderators
| Αποστολέας | Μήνυμα |
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
Στις: 13 Νοε 2008 13:09 Θέμα:
|
|
|
Το δεύτερο όντως λύνεται εύκολα με την επιλογή στις ιδιότητες της φόρμας στην καρτέλα ΑΛΛΑ-ΑΠΟΚΛΕΙΣΤΙΚΗ- να βάλουμε την τιμή ΝΑΙ.
Όσο τώρα για το wheel του ποντικιού.
Μία λύση αρκετά μπελαλίδικη είναι εδώ από την 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
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
Στις: 14 Νοε 2008 01:33 Θέμα:
Περιγραφή θέματος: Οκ. |
|
|
Φίλε 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
|
| Description: |
|
 Download |
| Filename: |
testok.rar |
| Filesize: |
15.91 KB |
| Downloaded: |
162 Time(s) |
_________________ My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
majuranus
 Μέλος από: 01 Μαρ 2006 Βοηθήματα: 1 Μηνύματα: 256+Περιοχή: Veria
|
|
|
|
kon73
Script Master  Μέλος από: 13 Απρ 2008 Βοηθήματα: 3 Μηνύματα: 195
|
|
|
|
|
Τώρα είναι 02 Σεπ 2010 19:33 | All times are UTC + 2
Powered by p h p B B © 2001,2005 p h p B B Group
|