Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Συναρτήσεις ] β.δ (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3256-b-d.html)

asarigiannis 31-07-14 12:52

β.δ
 
1 Συνημμένο(α)
καλησπέρα σε ολους.
θα μπορούσε κάποιος στην συνημμενη Β.Δ να μου δείξει πως οταν κανω μια νεα καταχωρηση και επιλέγω σαν ενεργό το ΝΑΙ,στην προυγούμενη καταχωρηση το ενεργό ν αγίνεται αυτόματα ΟΧΙ.
Ευχαριστώ

kapetang 01-08-14 17:12

Καλησπέρα

Αστέριε, υποτίθεται ότι η ΒΔ διαχειρίζεται μηχανές και εξαρτήματα.

Τα ονόματα όμως των πινάκων (Customers, Orders) και των πεδίων τους παραπέμπουν σε ΒΔ διαχείρισης παραγγελιών.

Έχω τη γνώμη ότι θα πρέπει να επανασχεδιάσεις σωστά τη βάση σου, ώστε να ανταποκρίνεται στον επιδιωκόμενο σκοπό (διαχείριση μηχανών).

Αυτό θα την κάνει κατανοητή και θα αυξήσει τις πιθανότητες βοήθειας.

Φιλικά/Γιώργος

asarigiannis 05-08-14 11:20

Β.Δ
 
1 Συνημμένο(α)
ΕΥΧΑΡΙΣΤΩ ΓΑΙ ΤΙΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ.ΑΝΕΒΑΖΩ ΑΝΑΘΕΩΡΗΜΕΝΗ ΤΗΝ Β.Δ ΚΑΙ ΘΑ ΗΘΕΛΑ ΤΟ ΠΕΔΙΟ ΕΝΕΡΓΟ ΟΤΑΝ ΚΑΝΩ ΝΕΑ ΚΑΤΑΧΩΡΗΣΗ ΝΑ ΓΙΝΕΤΑΙ ΑΥΤΟΜΑΤΑ "ΝΑΙ" ΚΑΙ ΤΑ ΠΡΟΥΓΟΥΜΕΝΑ "ΟΧΙ".ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΟΛΟΥΣ ΣΑΣ.

kapetang 05-08-14 15:13

1 Συνημμένο(α)
Καλησπέρα

Αστέριε δες μια υλοποίηση στην επισυναπτόμενη ΒΔ.

Η υλοποίηση γίνεται με τον παρακάτω κώδικα που προστέθηκε στη δευτερεύουσα φάρμα

Κώδικας:

Private Sub Form_AfterInsert()
    Dim strSQL As String
    strSQL = "UPDATE tblErgasies SET tblErgasies.Enero = 'όχι' WHERE " & _
    "tblErgasies.ErgasiaID<>" & DMax("[ErgasiaID]", "[tblErgasies]")
    CurrentDb.Execute (strSQL)
    Me.Requery
End Sub

Φιλικά/Γιώργος

asarigiannis 05-08-14 21:08

Απολυτα κατανοητό.Ευχαριστώ για την βοήθεια σας ακόμη μία φορά.

asarigiannis 06-08-14 13:10

Καλησπέρα και πάλι.Έκανα καταχώρηση και 2 ράουλο.Πάω να περάσω εργασία.Επιλέγω το πεδίο ΕΝΕΡΓΟ να είναι ΝΑΙ.Τότε βλέπω ΄τι στο 1ο ράουλο που έχω περάσει,μου κάνει όλα τα πεδία ΕΝΕΡΓΟ να είανι ΟΧΙ.Ελπίζω ν αέγινα κατανοητός Γιώργο.Δές το και εσύ και πές μου τι χρειάζεταί?ευχαριστώ.

kapetang 06-08-14 13:36

Καλησπέρα

Αστέριε, σύμφωνα με αυτά που γράφεις:

Παράθεση:

ΕΥΧΑΡΙΣΤΩ ΓΑΙ ΤΙΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ.ΑΝΕΒΑΖΩ ΑΝΑΘΕΩΡΗΜΕΝΗ ΤΗΝ Β.Δ ΚΑΙ ΘΑ ΗΘΕΛΑ ΤΟ ΠΕΔΙΟ ΕΝΕΡΓΟ ΟΤΑΝ ΚΑΝΩ ΝΕΑ ΚΑΤΑΧΩΡΗΣΗ ΝΑ ΓΙΝΕΤΑΙ ΑΥΤΟΜΑΤΑ "ΝΑΙ" ΚΑΙ ΤΑ ΠΡΟΥΓΟΥΜΕΝΑ "ΟΧΙ".ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΟΛΟΥΣ ΣΑΣ.
θέλεις η τελευταία εγγραφή να έχει τιμή στο πεδίο [Enego] "ναι" και σε όλες τις προηγούμενες "όχι".

Ο κώδικας αυτό κάνει.

Αν δε θέλεις αυτό θα πρέπει αναλυτικά και με σαφήνεια να καθορίσεις το ζητούμενο.

Φιλικά/Γιώργος

asarigiannis 06-08-14 15:34

Το λάθος είναι δικό μου.
Θα ήθελα να γίνεται αυτό αλλά για κάθε ράουλο (εχει δικό του ID).Δηλαδή σε ένα ράουλο νακάνω καταχωρήσεις εργασίας η τελευταια να γίνεται ενεργό-ΝΑΙ και οι προυγούμενες ΟΧΙ..Χωρίς να επιρεάσει τις καταχωρήσεις σε άλλο αριθμό ραούλο.Ζητάω πολλά μάλον ή δεν τα εξηγώ καλά.

kapetang 06-08-14 17:30

Καλησπέρα

Τώρα είσαι σαφής. Αλλά.......

Στον πίνακα ergasies υπάρχουν εγγραφές (γραμμές) με null τιμή στο πεδίο [RaouloID].

Δηλαδή υπάρχουν εργασίες στις οποίες δεν ξέρουμε το ράουλο στο οποίο έγιναν.

Είναι λογικό αυτό και τι θα κάνει ο κώδικας στις περιπτώσεις αυτές;.

Φιλικά/Γιώργος

asarigiannis 06-08-14 21:29

Γιώργο καλησπέρα και πάλι.Κάθε ράουλο που καταχωρώ έχει ένα RaouloID.Στο tblErgasies κάθε νέα καταχώρηση αντιστοιχεί σε ενα RaouloID.Αρα το ενεργό ΝΑΙ της νέας καταχώρησης,να κάνει αυτόματα ενεργό ΟΧΙ τις καταχωρήσεις σε αυτό το ράουλο=RaouloID και μόνο.

kapetang 06-08-14 23:15

Δε διάβασες προσεκτικά το μήνυμά μου.
Υπάρχουν γραμμές στον πίνακα Ergasies, όπου η τιμή στο πεδίο RouloID είναι κενή (null).
Τι θα γίνει;

asarigiannis 07-08-14 06:10

καλημέρα και συγνώμη.καμία κενή εγγραφή,όλες θα αντιστοιχούν σε RaouloID.Στην Β.Δ που έχω ανεβάσει θέλουν delete ή βάλε το RaouloID απο το πρώτο ράουλο.Ευχαριστώ

kapetang 07-08-14 07:41

Καλημέρα

Αστέριε άλλαξε τον κώδικα με τον παρακάτω:

Κώδικας:

Private Sub Form_AfterInsert()
    Dim strSQL As String, ergID As Long, raouloID As Long
   
    ergID = DMax("[ErgasiaID]", "[tblErgasies]")
    raouloID = DLookup("[RaouloID]", "[tblErgasies]", "[ErgasiaID]=" & ergID)
    strSQL = "UPDATE tblErgasies SET tblErgasies.Enero = 'όχι' WHERE " & _
    "tblErgasies.ErgasiaID<>" & ergID & " AND tblErgasies.RaouloID=" & raouloID
   
    CurrentDb.Execute (strSQL)
    Me.Requery
End Sub

Φιλικά/Γιώργος

asarigiannis 07-08-14 13:58

thats it..tnxxxx


Η ώρα είναι 06:32.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2