Εγγραφές +Φόρμες

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

Εγγραφές +Φόρμες

Δημοσίευση από tonik » 16 Μαρ 2009 01:46

Γεια σας..
Το θέμα που αντιμετωπίζω ειναι το εξής.

Έχω φτιάξει μια φόρμα σε access 07 και παρατηρώ ότι καθώς εισάγω νέες εγγραφές μπορώ να επιστρέψω σε μία προηγούμενη και να της αλλάξω τα στοιχεία.Ακόμα και το primary key.
Υπάρχει τρόπος να το μπλοκάρω αυτό?Για παραδειγμα θα ήθελα πηγαίνοντας στο textbox του primary key της εκάστοτε εγγραφής όταν προσπαθω να αλλάξω τον αριθμό να μεταβαίνει αυτόματα στα στοιχεία της εκαστοτε εγγραφής και όχι να τα τροποιποιεί.

π.χ.
έχω έναν πίνακα με μαθητες.και πεδια Id, onoma, epitheto, thl και έχω φτιάξει την καταλληλη φόρμα.αν περάσω κάποιες εγγραφες και σε μία εγγραφη που εχει για id=5 παω και το αλλαξω και το κανω 10 θα το παρει κανονικα η βάση μου.εγω ομως δεν θελω να συμβει αυτο.


Ευχαριστω...

Άβαταρ μέλους
kon73
Script Master
Δημοσιεύσεις: 224
Εγγραφή: 13 Απρ 2008 23:47
Επικοινωνία:

Εγγραφές +Φόρμες

Δημοσίευση από kon73 » 16 Μαρ 2009 08:50

Αγαπητέ φίλε Tonik,

Ορίστε ένα δείγμα κώδικα που όπως το έλενξα εκτελεί αυτό που επιθυμείς :
Στο BeforeUpdate του ID

Κώδικας: Επιλογή όλων

Private Sub Id_BeforeUpdate(Cancel As Integer)
     Dim Rcdset As DAO.Recordset
         Set Rcdset = Me.RecordsetClone
         Rcdset.FindFirst ("ID=" & Me.ID)
             Cancel = True
             Me.Undo
          Me.Bookmark = Rcdset.Bookmark
End Sub
Για οτιδήποτε χρειαστείς τα λέμε πάλι.

Φιλικά
kon73
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εικόνα

tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

Εγγραφές +Φόρμες

Δημοσίευση από tonik » 16 Μαρ 2009 11:19

Καταρχήν Ευχαριστώ για την άμεση απάντηση.
Το προβλημα που υπάρχει είναι το εξής.Ενώ όντως πηγαίνει στην αντίστοιχη εγγραφή όταν τροποποιώ το primary key δεν λειτουργεί σωστά η προσθήκη νέας εγγραφής.

π.χ.
an primary key = 127 και κάνω προσθήκη νέας με κωδικό 128 με ξαναγυρνάει στην πρώτη εγγραφή ή στην προηγούμενη...

Άβαταρ μέλους
kon73
Script Master
Δημοσιεύσεις: 224
Εγγραφή: 13 Απρ 2008 23:47
Επικοινωνία:

Εγγραφές +Φόρμες

Δημοσίευση από kon73 » 16 Μαρ 2009 11:31

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

Κώδικας: Επιλογή όλων

If Me.NewRecord = False Then
End if
Λειτουργεί και σ'αυτήν την περίπτωση. Οπότε ο Κώδικας γίνεται ολοληρωμένα

Κώδικας: Επιλογή όλων

Private Sub Id_BeforeUpdate(Cancel As Integer)
 If Me.NewRecord = False Then
    Dim Rcdset As DAO.Recordset
    Set Rcdset = Me.RecordsetClone
    Rcdset.FindFirst ("Id=" & Me.Id)
    Cancel = True
    Me.Undo
    Me.Bookmark = Rcdset.Bookmark
 End If
End Sub
Περιμένω να μου πεις ότι δούλεψε σωστά.

Φιλικά

kon73
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εικόνα

tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

Εγγραφές +Φόρμες

Δημοσίευση από tonik » 16 Μαρ 2009 12:04

Ευχαριστώ πολύ !!

Δούλεψε!

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης