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/1942-kinisi-pelaton.html)

nafnaki 26-06-12 21:25

Κίνηση πελατών
 
Καλησπέρα σας.
Όπως λέει και στον τίτλο,θέλω λίγη βοήθεια για μία βάση που φτιάχνω για διαχείριση κίνησης πελατών,γιατί δεν ξέρω πολύ καλά access.
Έχω φτιάξει ένα πίνακα με τα προσωπικά στοιχεία των πελατών και τον έχω συνδέσει με σχέση ένα προς πολλά με ένα δεύτερο πίνακα παραγγελίες όπυ εμφανίζεται τι παραγγέλνει ο κάθε πελάτης και πόσο έχει το κάθε προϊόν.
Θα ήθελα να κάνω τις εξής ερωτήσεις:
1)Θέλω η τελευταία στήλη μου στον πίνακα παραγγελίες να υπολογίζει την αξία του κάθε προϊόντος με μία αριθμητική παράσταση του τύπου ποσότητα*τιμή μονάδας (κάπως έτσι).Αυτό πως θα γίνει?Μέσα σε μία φόρμα?Σε ερώτημα?Την αριθμητική παράσταση την γράφω [αξια]=[ποσοτητα]*[τιμη μοναδας]?
2)Αν προσθέσω ένα επιπλέον πεδίο στον πίνακα μου θα πρέπει να φτιάξω καινούρια φόρμα και ερωτήματα για να το περιλαμβάνουν, έτσι δεν είναι?
3)Μπορώ να τα κάνω όλα αυτά με κάποιο άλλο εργαλείο γιατί η access είναι λίγο δύσχρηστη?
Ευχαριστώ

Tasos 27-06-12 10:45

Καλημέρα Μαρία και καλωσόρισες στο φόρουμ!

Η Access είναι αρκετά εύχρηστη αλλά προϋποθέτει τουλάχιστον τις στοιχειώδεις γνώσεις ανάπτυξης
βάσης δεδομένων και προγραμματισμού.

Γενικά για οποιοδήποτε πρόγραμμα στον κόσμο με πολυπλοκότητα ανάλογη της Access,
αρχικά θα χρειαστεί να μάθει κανείς:
Να χειρίζεται την εφαρμογή (Τι κάνει το κάθε κουμπί κτλ.)
Τι μπορεί να κάνει ο χρήστης από την επιφάνεια εργασίας της εφαρμογής (το προγραμματιστικό κομμάτι δεν περιλαμβάνεται).

Φυσικά για έναν αρχάριο, οι ερωτήσεις είναι πάρα πολλές.
Ευτυχώς όμως, η Microsoft είτε στην Offline βοήθεια της εφαρμογής, είτε μέσα από την ιστοσελίδα της προσφέρει μια πάρα πολύ καλή βοήθεια ειδικά για εκείνους που κάνουν τα πρώτα τους βήματα στην Access.

Θα σου συνιστούσα να χρησιμοποιήσεις τη βοήθεια αυτή "στα πρώτα σου βήματα" και αν υπάρξουν κενά/απορίες, θα χαρούμε να σε βοηθήσουμε.


Τώρα για να περάσεις ένα τύπο σε πεδίο φόρμας μπορείς στις ιδιότητες του πεδίου και συγκεκριμένα στην ιδιότητα Προέλευση στοιχείου ελέγχου να περάσεις για παράδειγμα τον τύπο: =[ποσοτητα]*[τιμη μονάδας].
Το αποτέλεσμα θα εμφανιστεί στο ίδιο πεδίο.

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

Συνιστάται πάντως τα υπολογισμένα πεδία να βρίσκονται στα ερωτήματα.

Νομίζω ότι θα βοηθηθείς αρκετά αν επισκεφτείς τους παρακάτω συνδέσμους:

Βασικές αρχές σχεδίασης βάσης δεδομένων - Access - Office.com

Άθροιση δεδομένων με χρήση ερωτήματος - Access - Office.com

Εισαγωγή στα ερωτήματα - Access - Office.com


Καλή συνέχεια

Τάσος

nafnaki 27-06-12 11:51

Καλημέρα.
Τάσο σ'ευχαριστώ για την απάντηση σου και για το χρόνο σου.Έχω ακόμα μία ερώτηση.
Στη φόρμα μου ορίζω το πεδίο [αξία] με τον τύπο που ανέφερα,από προέλευση στοιχείου.
Μετά εισάγω δεδομένα κ γίνονται οι πράξεις κανονικά στη φόρμα.
Το πρόβλημα είναι ότι ο αρχικός μου πίνακας ενημερώνεται με τις καινούριες εγγραφές, αλλά στο πεδίο [αξία] του πίνακα δεν εμφανίζει το αποτέλεσμα του πεδίου [αξία] φόρμας.

kapetang 27-06-12 20:20

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

Μαρία, έχοντας την ποσότητα και την τιμή μονάδας, μπορούμε όπου χρειαζόμαστε την αξία (φόρμες, ερωτήματα, εκθέσεις κλπ) να την υπολογίζουμε εύκολα με τον γνωστό τύπο.

Δε χρειάζεται η αξία να αποθηκεύεται στον πίνακα.

Μάλιστα, αν αποθηκεύεται, μπορεί να δημιουργήσει και προβλήματα.

Σκέψου την περίπτωση να ανοίξει κάποιος τον πίνακα και στο πεδίο [αξία] να καταχωρήσει (κακόβουλα ή από λάθος) μια τιμή διαφορετική του γινομένου [ποσότητα]*[τιμή].

Πάντως αν επιμένεις να καταχωρείται η αξία στον πίνακα θα πρέπει στη σχετική φόρμα να προσθέσεις τον παρακάτω κώδικα.

Κώδικας:

Private Sub ΠΟΣΟΤΗΤΑ_AfterUpdate()
    If IsNumeric(Me.ΠΟΣΟΤΗΤΑ) And IsNumeric(Me.ΤΙΜΗ) Then
        Me.ΑΞΙΑ = Me.ΠΟΣΟΤΗΤΑ * Me.ΤΙΜΗ
    End If
End Sub

Private Sub ΤΙΜΗ_AfterUpdate()
    If IsNumeric(Me.ΠΟΣΟΤΗΤΑ) And IsNumeric(Me.ΤΙΜΗ) Then
        Me.ΑΞΙΑ = Me.ΠΟΣΟΤΗΤΑ * Me.ΤΙΜΗ
    End If
End Sub

Στον κώδικα αυτό θα πρέπει να αντικαταστήσεις τα ονόματα [ΠΟΣΟΤΗΤΑ], [ΤΙΜΗ] και [ΑΞΙΑ] με τα πραγματικά.

Η αποθήκευση της αξίας θα γίνεται για τις νέες εγγραφές.

Αν θέλεις να αποθηκευτεί και στις παλιές θα πρέπει σε κάθε εγγραφή να προκαλέσεις στο πεδίο [ΠΟΣΟΤΗΤΑ] ή [ΤΙΜΗ] κάποια πλασματική αλλαγή (πχ πληκτρολογώντας ξανά το ίδιο ψηφίο) και να μετακινηθείς σε άλλο πεδίο.

Δοκίμασε τη ΒΔ που επισυνάπτω

Γιώργος

nafnaki 27-06-12 21:07

Γιώργο σ'ευχαριστώ κι εσένα.Με βοήθησαν αρκετά οι απαντήσεις σας.
Καλό βράδυ


Η ώρα είναι 14:17.

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


Search Engine Optimization by vBSEO 3.3.2