Γιαούρτι Δημοσ. 12 Δεκεμβρίου 2019 Δημοσ. 12 Δεκεμβρίου 2019 έστω ότι σε μια βάση έχουμε ένα πίνακα που περιέχει πληροφορίες ατόμων. Κάθε χρόνο προσθέτουμε μια εγγραφή για το κάθε άτομο όπου θα αλλάζει φυσικά το έτος αλλά το εισόδημα θα μένει σταθερό. Δηλαδή το κάθε άτομο κάθε χρόνο θα έχει σταθερό εισόδημα ας πούμε 1000€. Αν έχω 100 άτομα, πρέπει κάθε χρόνο να περνάω 100 εγγραφές. Πως μπορώ να το κάνω αυτό αυτόματα με κάποιο ερώτημα; πχ για το 2020 να δημιουργούνται 100 εγγραφές (αφού έχω 100 άτομα) και το μόνο πεδίο που θα αλλάζει θα είναι το έτος αφού όλα τα άλλα είναι σταθερά αν έχω περάσει στοιχεία 5 ετών θα πρέπει να έχω 500 εγγραφές (5*100) άρα τώρα θα δημιουργηθούνε άλλες 100. με κάποιο τρόπο πρέπει να ξεχωρίζει ότι στην ουσία τα άτομα είναι 100 και όχι 500. Έχω μπερδευτεί Παράδειγμα Πίνακα Όνομα-Έτος-Εισόδημα Νίκος-2007-1000€ Νίκος-2008-1000€ Αννα-2007-1000€ Άννα-2008-1000€
antbyron Δημοσ. 12 Δεκεμβρίου 2019 Δημοσ. 12 Δεκεμβρίου 2019 Μπορείς να το κάνεις με triggers. Δυστυχώς δεν γνωρίζω την access για να σου έγραφα το ερώτημα. Οι εγγραφές δεν προστίθενται αλλά παραμένουν 100 εφόσον κάνεις update και αλλάζεις μόνο την στήλη ημερομηνία. Ίσως να υπάρχει και καλύτερος τρόπος, περίμενε και κάναν άλλο.
MastroGiannis Δημοσ. 13 Δεκεμβρίου 2019 Δημοσ. 13 Δεκεμβρίου 2019 (επεξεργασμένο) Καταρχήν, στον πίνακα προσώπων (ας τον πούμε tblPersons) πρέπει να κρατάς μόνο τα στοιχεία των προσώπων, στα οποία περιλαμβάνεται και το ύψος του ετήσιου εισοδήματος (όχι όμως και το έτος). Χρειάζεσαι έναν ακόμη πίνακα για τις καταχωρήσεις των εισοδημάτων (ας τον πούμε tblIncome), ο οποίος πρέπει να διαθέτει τουλάχιστον τα παρακάτω πεδία: Το πρωτεύον κλειδί (incID): Autonumber Το ID του προσώπου (personID): Long Το έτος εισοδήματος (incYear): Integer Το ποσό του εισοδήματος(incAmount): Currency (εναλλακτικά, μπορείς να θέσεις ως πρωτεύον κλειδί το συνδυασμό των πεδίων [PersonID] και [incYear]) Με το παρακάτω ερώτημα εισάγεις, από τον πίνακα tblPersons στον πίνακα tblIncome, το ID του κάθε προσώπου και το ποσό εισοδήματός του για το έτος 2019. INSERT INTO tblIncome (personID, incYear, incAmount) SELECT tblPersons.personID, 2019 As incY, tblPersons.incAmount FROM tblPersons; Έτσι λοιπόν, κρατάς τη βάση σου κανονικοποιημένη και ξέρεις αν πάσα στιγμή πόσα άτομα έχεις και πόσες ετήσιες καταχωρήσεις εισοδημάτων. Ελπίζω να ήμουν κατανοητός. Επεξ/σία 13 Δεκεμβρίου 2019 από MastroGiannis
masteripper Δημοσ. 13 Δεκεμβρίου 2019 Δημοσ. 13 Δεκεμβρίου 2019 4 πίνακες 1.Persons ...Κρατάς τα "προσωπικά στοιχεία" 2. YearlyIncomes -PersonID,Year (εδώ πιθανόν να είναι καλύτερα να βάζουμε ημερομηνία και να παρουσιάζεται η μισθολογική μεταβολή κατα την διάρκεια του έτους) ,IncomeID, , (PersonID,YearID) PK <--- Αυτός ο πίνακας μπορεί να αντικατασταθεί και απο ερώτημα καθώς με βάση τα προηγούμενα μπορεί να "φτιάχνεται" On the fly 3 Incomes - IncomeID,Income 4 ,PersonID,IncomeID,DateOfChange ..Πότε αλλάξε ο μισθός ...και ποιός είναι ενεργός. Για τον τρόπο που κάνουμε το γέμισμα Persons_income.zip
Γιαούρτι Δημοσ. 29 Ιανουαρίου 2020 Μέλος Δημοσ. 29 Ιανουαρίου 2020 παιδιά ευχαριστώ πολύ για τις απαντήσεις. πρέπει να αλλάξω τον πίνακα δηλαδή. προσωρινά το είχα κάνει με πατέντα αλλά ήθελα έναν σοβαρό τρόπο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα