Εμφάνιση ενός μόνο μηνύματος
  #3  
Παλιά 29-01-09, 19:28
Meteora
Guest
 
Μηνύματα: n/a
Προεπιλογή Re: Μεταφορά δεδομένων απο πεδίο σε πεδίο

Καλησπέρα

[α] Η πρώτη προτεινόμενη λύση δούλεψε. Η παρατήρηση περί 'αναξιοπιστίας' του Kon73 για τη περίπτωση της τελευταίας εγγραφής σωστή. (έχω σχετική εμπειρία απο τη σχολική μονάδα στην οποία εργάζομαι...).
[β] Τη δεύτερη προτεινόμενη λύση την 'έντυσα' ως εξής και φυσικά δουλεύει!

Private Sub πεδιοΑ_LostFocus()

DoCmd.SetWarnings False '(1)

Dim diktis As Integer '(2)
diktis = Me.ID1 '(2)
DoCmd.RunSQL ("Update table1 Set table1.πεδιο1=" & Me.πεδίοΑ & " where ID1=" & diktis)

DoCmd.SetWarnings True '(1)

End Sub

Εξηγώ (για όσους γνωρίζουν λιγότερα απο μένα) :
* Με τις εντολές (1) απενεργοποιώ και ξανα-ενεργοποιώ τις προειδοποιήσεις τις access για τις περιπτώσεις delete, update,...
* Με τις εντολές (2) ορίζω μια αριθμητική μεταβλητή που φορτώνεται την τιμή του [ID1] της τρέχουσας εγγραφής. Το [ID1] είναι το κλειδί της κάθε εγγραφής.
* Η εντολή SQL έχει ελαφρώς διαφοροποιηθεί σε σχέση με την προτεινόμενη απο τον Kon73 διότι το diktis ειναι αριθμητική μεταβλητή.

Θα παρατηρήσετε ότι τον κώδικα φόρτωσα στο LostFocus του πεδίουΑ, διότι στο AfterUpdate με έδινε ένα μήνυμα περί "δράσης κάποιου άλλου χρήστη..."
Στο LostFocus η εργασία γίνεται εντελώς 'αθόρυβα'.

Φυσικά δεκτή κάθε παρατήρηση
Ευχαριστώ τον Kon73.

Με εκτίμηση

Meteora
Απάντηση με παράθεση