Αποθήκευση - κλέιδωμα εγγραφών

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

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

Απάντηση
ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 14:43

Καλημέρα και πάλι
πως μπορώ να κάνω να σωθούν οι εγγραφές σε ένα πίνακα μέσω μιας φόρμας, ΜΟΝΟ αφού πατήσω κουμπί SAVE και συγχρόνως να κλειδώσουν κάποια πεδία για να μην αλλάξουν καταλάθος αργότερα? Μπορεί να βγάζει και μύνημα για επιβαιβέωση της ενέργειας? Ή μπορεί να βγαίνει ένα μύνημα όταν τροποποιούνται κάποια πεδία μιας φόρμας?
Γενικά φοβάμαι μήπως μετά την εισαγωγή των στοιχείων ανοίξει κάποιος την φόρμα και αλλάξει ένα βασικό πεδίο για τις αλληλεπιδράσεις των υποφορμών (πχ τον αριθμό παραγγελίας) και μπερδευτούν οι εγγραφές.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από dva_dev » 27 Ιούλ 2007 21:33

Οταν έχει αλλάξει κάτι στη φόρμα σου καλείται η "Before Update" πριν γίνει η αποθήκευση της εγγραφής. Μπορείς εκεί να κάνεις επιβεβαίωση.

ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 22:26

Στην before update της φόρμας? Τι εντολή πρέπει να βάλω για μήνυμα?

ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 22:45

Τελικά βρήκα πως βγαίνει το μήνυμα με το msgbox αλλά βγάζει μόνο ΟΚ και συνεχίζει. Γίνεται το άλλο που γράφω με το κουμπί για την αποθήκευση και το κλείδωμα?

ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 22:48

Τι ρόλο παίζει το κουμπί save record εφόσον οι εγγραφές παιρνιούνται κατευθείαν στον πίνακα από την φόρμα πριν ακόμα πατήσω το κουμπί. Δεν μπόρεσα να καταλάβω την χρησιμότητα του!!! Ενώ είχα ανοιχτεί την φόρμα και είχα περάσει τα μισά δεδομένα, άνοιξα των πίνακα και είδα ότι είχαν περαστεί!!!!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από dva_dev » 27 Ιούλ 2007 23:06

Η εντολή που χρειάζεσαι είναι η MsgBox που εκτός από το να σου εμφανίζει μήνυμα σου επιστρέφει και ποιό κουμπί πάτησε ο χρήστης. Οπότε κάτι τέτοιo θα σου κάνει:

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

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim mbres As VbMsgBoxResult

    mbres = MsgBox("Save Changes ?", vbYesNoCancel Or vbQuestion)
    Select Case mbres
    Case vbYes
        'Continue and save the record
        Cancel = 0
    Case vbNo
        'Undo changes and Continue (does not save the record)
        Me.Undo
        'DoCmd.RunCommand acCmdUndo
        Cancel = 0
    Case vbCancel
        'Do not continue. Do nothing.
        Cancel = 1
    End Select

End Sub


ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 23:20

Thanx dva_dev για ακόμα μια φορά. Τέλειο....
Δεν βλέπεις, please, και τα άλλα post μου?
Thanx anyway..!!!!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από dva_dev » 27 Ιούλ 2007 23:26

Τι ρόλο παίζει το κουμπί save record
Αποθηκεύει την εγγραφή την ώρα που το πατάς.
εφόσον οι εγγραφές παιρνιούνται κατευθείαν στον πίνακα από την φόρμα πριν ακόμα πατήσω το κουμπί.
Η εγγραφή αποθηκεύεται στον πίνακα α) μόλις πατήσεις το κουμπί "Save Record", β) Οταν μετακινείσαι σε κάποια άλλη εγγραφή γ) οταν κλείνεις τη φόρμα.
Δεν μπόρεσα να καταλάβω την χρησιμότητα του!!! Ενώ είχα ανοιχτεί την φόρμα και είχα περάσει τα μισά δεδομένα, άνοιξα των πίνακα και είδα ότι είχαν περαστεί!!!!
Μήπως πρίν ανοίξεις τον πίνακα έκλεισες τη φόρμα;

ABLADE
Δημοσιεύσεις: 110
Εγγραφή: 18 Ιούλ 2007 18:55
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Αποθήκευση - κλέιδωμα εγγραφών

Δημοσίευση από ABLADE » 27 Ιούλ 2007 23:56

έχεις δίκιο. Περνούσα στην υποφόρμα και γιαυτό καταγραφόταν οι εγγραφες.
Με το before update δουλευει πάντως πολυ καλά.

Απάντηση

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

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

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