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/1128-sintheta-plaisia.html)

mgeorge 10-05-11 16:54

Σύνθετα πλαίσια
 
Γειά σας.
Θα ήθελα αν μπορεί κάποιος να με βοηθήσει στο εξής.

Έχω σε μια φόρμα 2 σύνθετα πλαίσια,στο ένα περιέχονται Εταιρίες και στο άλλο Προϊόντα.

Δηλαδή (ΕΤΑΙΡΙΕΣ) ΑΛΦΑ,ΒΗΤΑ,ΓΑΜΑ,ΔΕΛΤΑ
(ΠΡΟΪΟΝΤΑ) 1,2,3,4,5,6,7,8

Θα ήθελα όταν επιλέγω από το πλαίσιο (ΕΤΑΙΡΙΕΣ) την Εταιρία ΑΛΦΑ,στο πλαίσιο (ΠΡΟΪΟΝΤΑ) να εμφανίζονται μόνο τα προίόντα που πουλάει η συγκεκριμένη Εταιρία π.χ 3,6,,7 ή επιλέγοντας την Εταιρία ΔΕΛΤΑ να εμφανιζονται τα προϊόντα 1,3,7,8 κ.ο.κ.

sakis 10-05-11 19:15

Γιωργο γεια σου
λιγες πληροφορειες ακομη θα βοηθουσαν π.χ. απο ποιους πινακες προερχονται οι εγραφες κτλ
η ανεβασε το τμημα του προγραμματος να στο φτιαξω.

mgeorge 10-05-11 19:41

Καλησπέρα Σάκη.
Ανεβάζω το αρχείο για να το δείς,το θέμα αφορά τα πεδία ΕΤΑΙΡΙΑ & ΠΑΚΕΤΟ ΑΣΦΑΛΙΣΗΣ.
Ανοίγει με shift.

Ευχαριστώ εκ' των προτέρων!!

mgeorge 10-05-11 19:46

1 Συνημμένο(α)
Λάθος,το ανεβάζω ξανά.

kapetang 10-05-11 23:06

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

Η βάση δεδομένων που επισυνάπτω αποτελεί μια προσομοίωση του ζητούμενου.
Περιέχει:
1) Τον πίνακα «tblSuppliers» που περιέχει τα στοιχεία των προμηθευτών.
2) Τον πίνακα «tblProducts» που περιέχει τα στοιχεία των προϊόντων.
3) Τον πίνακα «tblSupplies» με τους κωδικούς των προμηθευτών και των αντίστοιχων προϊόντων που προμήθευσαν.
4) Το ερώτημα «qrySupplies» που εμφανίζει στοιχεία των παραπάνω πινάκων.
5) Τη φόρμα «frmSupplies» που περιέχει τα σύνθετα πλαίσια «Προμηθευτές» και «Προϊόντα».
Όταν επιλέγεται ένας προμηθευτής το σύνθετο πλαίσιο «Προϊόντα» εμφανίζει μόνο τα προϊόντα που προμήθευσε.
Η λειτουργικότητα αυτή στηρίζεται στην προέλευση γραμμής των σύνθετων πλαισίων και στο σχετικό κώδικα.
Κώδικας:

SELECT DISTINCT qrySupplies.SupID, qrySupplies.SupName FROM qrySupplies;
Κώδικας:

SELECT DISTINCT qrySupplies.ProID, qrySupplies.ProName FROM qrySupplies WHERE qrySupplies.SupID)=[Forms]![frmSupplies]![cboSup];
Κώδικας:

Private Sub cboSup_AfterUpdate()
    Me.cboProducs.Requery
    Me.cboProducs.Value = Null
End Sub

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

mgeorge 11-05-11 17:54

Γιώργο καλησπέρα και σε ευχαριστώ πάρα πολύ .
Ελπίζω να καταφέρω να το εφαρμόσω,οι γνώσεις μου είναι περιορισμένες,θα δείξει...
Σε ευχαριστώ και πάλι.

mgeorge 11-05-11 19:09

Δυστυχώς δεν κατάφερα κάτι,αν μπορεί κάποιος να το φτιάξει πάνω στην βάση μου θα με υποχρέωνε.

Ευχαριστώ!!

kapetang 11-05-11 20:13

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

Γιώργο, το αρχείο που επισυνάπτω είναι η βάση που ανέβασες, με κάποιες τροποποιήσεις για την πραγματοποίηση του ζητούμενου, αν το κατάλαβα καλά.

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

mgeorge 11-05-11 20:28

Γιώργο δυστυχώς δεν μπορώ να το φτιάξω,θα ήθελα αν μπορούσες πάνω στην βάση που ανέβασα να μου φτιάξεις το πεδίο ΕΤΑΙΡΙΑ να λειτουργεί όπως το πεδίο ΠΡΟΜΗΘΕΥΤΕΣ και το πεδίο ΠΑΚΕΤΑ ΑΣΦΑΛΙΣΗΣ να λειτουργεί κατά τον ίδιο τρόπο που λειτουργεί το πεδίο ΠΡΟΙΟΝΤΑ.

Μάλλον ζητάω πολλά αλλά δυστυχώς οι γνώσεις μου δεν με βοηθούν.

dimitris p 11-05-11 22:39

1 Συνημμένο(α)
Καλησπέρα σε όλους τους φίλους.
Γιώργο για να γίνει αυτό που θέλεις, αν το κατάλαβα καλά, θα πρέπει να γίνουν τα εξής στη βάση που επισυνάπτω.
1. Στον πίνακα etairies θα πρέπει να περαστούν τα ονόματα των Εταιριών.
2. Στον πίνακα Proioda θα πρέπει να περαστούν τα προιόντα που υπάρχουν και προσφέρουν οι διάφορες Εταιρίες (όλα τα προϊόντα ανεξαρτήτου Εταιρίας).
3. Στον πίνακα ProiodaEterion θα πρέπει στο πεδίο Προϊόν να επιλέξεις ένα προϊόν και στο πεδίο΄[Εταιρία που το παρέχει] να επιλέξεις την Εταιρία που παρέχει το συγκεκριμένο προϊόν. Θα πρέπει δηλαδή να ορίσεις τα προϊόνα που παρέχει η κάθε Εταιρία.

Όταν τελειώσεις με αυτές τις αλλαγές ανέβασε ξανά το αρχείο για να συνεχίσουμε παρακάτω.

Φιλικά Δημήτρης.

kapetang 11-05-11 23:10

Καλησπέρα

Γιώργο, θα μπορούσες να είσαι περισσότερο σαφής από την αρχή.
Αυτό που ζητάς, κατά τη γνώμη μου δε γίνεται επειδή τα σύνθετα πλαίσια «ΕΤΑΙΡΙΑ», «ΠΑΚΕΤΑ ΑΣΦΑΛΙΣΗΣ» βασίζονται σε δύο λίστες τιμών, που δε σχετίζονται (δεν ξέρουμε τι πακέτα προσφέρει κάθε εταιρία).
Για να πετύχεις αυτό που θέλεις θα πρέπει να δημιουργήσεις:
1) Ένα πίνακα με τις Εταιρίες.
2) Ένα πίνακα με τα Πακέτα ασφάλισης.
3) Ένα πίνακα με τις Εταιρίες και τα Πακέτα ασφάλισης που προσφέρει κάθε μία. Θα περιέχει μόνο τους κωδικούς των εταιριών και των πακέτων ασφάλισης.
Δηλαδή θα πρέπει να δημιουργήσεις μία δομή σαν αυτήν που υπάρχει στο πρώτο μήνυμά μου και να εφαρμόσεις στη συνέχεια τις οδηγίες που υπάρχουν σ’ αυτό.

Φιλικά/Γιώργος
ΥΓ Κάτι παρόμοιο βλέπω ότι προτείνει και ο Δημήτρης

Meteora 12-05-11 12:20

Καλημέρα
Καλή επιτυχία στα παιδιά μας που συμμετέχουν στις Πανελλαδικές εξετάσεις και είναι τέκνα μας, αδέλφια μας, ανήψια μας, ό,τι αλλο...

Να προσθέσω την σκέψη μου στον παρόντα διάλογο.
Όταν από μια εταιρεία έχεις συγκεκριμένα προϊόντα ή σχεδόν συγκεκριμένα με έννοια ότι 'άντε να προσθέσουμε ένα προϊόν ακόμη, φέτος' και συγκεκριμένες εταιρείες (ή σχεδόν), τότε μια απλή λύση είναι αυτή εδώ. Μιά λύση που δεν θέλει τρείς πίνακες και σχέσεις μεταξύ τους.
Αν όμως έχεις μια εφαρμογή στην οποία με φόρμες διαχειρίζεσαι προμηθευτές, προϊόντα και δοσοληψίες που σημαίνει ότι η εφαρμογή σου έχει έντονη "κινητικότητα" δηλαδή υπάρχουν φόρμες που ανανεώνουν συνεχώς προμηθευτές-προϊόντα, τότε ο φίλος μου ο Γιώργος έδωσε μια πολύ καλή λύση μέσω του Query. Μια λύση που μπορεί να εφαρμοστεί σε κάθε περίπτωση, αρκεί να υπάρχουν οι πίνακες [ΠΡΟΜΗΘΕΥΤΕΣ],[ΠΡΟΙΟΝΤΑ] και ο συνδετικός [ΠΡΟΜΗΘ_ΠΡΟΙΟΝΤΑ] καθώς και οι σχέσεις για να δουλέψει το Query.

Με εκτίμηση

Νίκος Δ.

Υστερολόγιο: Ο φίλος μας ο Σάκης έχει κάτι κατά νου. Σάκη περιμένουμε να σε διαβάσουμε...

mgeorge 12-05-11 15:35

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

Ευχαριστώ και πάλι!!

mgeorge 12-05-11 15:46

Μάλλον μπερδεύτηκα,Δημήτρη πρέπει να ευχαριστήσω θερμά και εσένα,νόμιζα πως τις αλλαγές τις έκανε ο Γιώργος.

kapetang 12-05-11 19:25

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

Γιώργο, επισυνάπτω μια τροποποίηση της ΒΔ που ανέβασες.
Θα πρέπει να έχεις υπόψη σου τα εξής:
1) Το σύνθετο πλαίσιο «ΕΤΑΙΡΙΑ» έχει προέλευση γραμμής τον πίνακα «etairies» και συνεπώς εμφανίζει όλες τις εταιρίες.
2) Το σύνθετο πλαίσιο «ΠΑΚΕΤΟ ΑΣΦΑΛΙΣΗΣ» έχει προέλευση γραμμής τον πίνακα «ProiodaEtairion».
Αν συνεπώς επιλέξουμε μία εταιρία για την οποία δεν υπάρχει καταχώρηση στον πίνακα «ProiodaEtairion»το πλαίσιο θα είναι κενό.
3) Πρόσθεσα τον απαιτούμενο κώδικα στο συμβάν : ΕΤΑΙΡΙΑ_AfterUpdate() και επειδή ο κώδικας που υπήρχε εμφάνιζε λάθος τον έκανα σχόλιο.

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

mgeorge 12-05-11 21:22

Σε υπέρ ευχαριστώ και πάλι,είναι άψογο!!!

mgeorge 14-05-11 13:58

1 Συνημμένο(α)
Καλησπέρα σε όλους τους φίλους του φόρουμ.
Πάλι αντιμετωπίζω πρόβλημα και δεν μπορώ να καταλάβω τον λόγο,στα πεδία ΕΤΑΙΡΙΑ και ΠΑΚΕΤΟ ΑΣΦΑΛΙΣΗΣ μου εμφανίζει τα id και όχι τα ονόματα των Εταιριών και των πακέτων ασφάλισης,μπορεί κάποιος να βοηθήσει;

Ευχαριστώ!!

kapetang 14-05-11 14:49

Καλησπέρα

Γιώργο, τα συγκεκριμένα σύνθετα πλαίσια έχουν δύο στήλες.
Η μία (αριθμητική) είναι η τιμή του πλαισίου και η άλλη (κείμενο) η φιλική τιμή που θέλουμε να εμφανίζεται.
Για να λύσεις το πρόβλημα και στα δύο πλαίσια στο φύλλο ιδιοτήτων και στην καρτέλα μορφή θα θέσεις:
Πλήθος στηλών: 2
Πλάτη στηλών: 0;4
Ορίζοντας το πλάτος της πρώτης στήλης (αριθμητικής) στο μηδέν την κάνουμε αόρατη.

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

mgeorge 14-05-11 15:05

Γιώργο σε ευχαριστώ πάρα πολύ,δεν φανταζόμουν πως ήταν τόσο απλό.

dimitris p 14-05-11 15:27

1 Συνημμένο(α)
Καλησπέρα φίλοι μου.
Από ότι βλέπω ο φίλος Γιώργος (kapetang) με πρόλαβε και έδωσε την λύση.
Γιώργο (mgeorge) έκανα τις αλλαγές που πρωτείνει ο Γιώργος και πρέπει να είναι αυτό που θες.
Αν χρειαστείς κάτι άλλο εδώ είμαστε πάλι.
Φιλικά Δημήτρης

mgeorge 14-05-11 15:53

1 Συνημμένο(α)
Γιώργο λύθηκε το προηγούμενο θέμα αλλά τώρα αντιμετωπίζω ένα νέο πρόβλημα,το πεδίο ΕΤΑΙΡΙΑ έχει και μια δεύτερη διαδικασία συμβάντος (μετά από ενημέρωση) όπου εμφανίζει το ποσοστό (είναι το πεδίο με τα αστεράκια) και στην συνέχεια βάση του ποσοστού υπολογίζονται οι προμήθειες,ο φόρος κ.λ.π αυτό τώρα πλέον δεν παίζει,
έχεις καμιά ιδέα;

kapetang 14-05-11 17:16

Καλησπέρα στην παρέα

Γιώργο, πριν από τη δημιουργία φορμών, του σχετικού κώδικα και τα κλειδώματα, θα πρέπει να ασχοληθείς με τη σχεδίαση της βάσης σου.
Βλέπω πίνακες όπως «from», «synergates» «typos», κλπ, που ενώ θα έπρεπε να αποτελούν την προέλευση γραμμής στα σύνθετα πλαίσια του πίνακα «COSMOS insurance» και της αντίστοιχης φόρμας, δε χρησιμοποιούνται (χρησιμοποιείται λίστα τιμών).
Η σωστή σχεδίαση της βάσης σου και η προσθήκη κάποιων δεδομένων θα διευκρίνιζε και τη λογική της, οπότε θα ήταν ευκολότερη και η λήψη σχετικής βοήθειας από το φόρουμ.
Θα ξέραμε για παράδειγμα από ποια πεδία εξαρτάται το ποσοστό έκπτωσης, πως υπολογίζεται, αν πρέπει να αποθηκεύεται (κανονικά ως υπολογιζόμενο δεν πρέπει) και σε ποιον πίνακα .
Πριν γίνουν τα παραπάνω η αναζήτηση λαθών στον κώδικα κατά τη γνώμη μου είναι χάσιμο χρόνου.
Αν πάλι θέλεις να συνεχίσεις με το ψάξιμο των λαθών στον κώδικα θα πρέπει να λάβεις υπόψη σου ότι με τις αλλαγές που έγιναν οι τιμές των συγκεκριμένων πλαισίων είναι αριθμητικές και συνεπώς δεν πρέπει να μπαίνουν σε αποστρόφους (‘) στις προτάσεις SQL

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

mgeorge 15-05-11 12:02

1 Συνημμένο(α)
Καλημέρα σε όλους τους φίλους.

Θα αναλύσω λίγο τον τρόπο λειτουργίας μήπως και μπορέσει κάποιος να βοηθήσει.

1)Έχουμε στην φόρμα το πεδίο (ΑΠΟ) και τον αντίστοιχο πίνακα (from)

2)Έχουμε στην φόρμα το πεδίο (ΠΡΟΣ) και τον αντίστοιχο πίνακα (synergates)

3)Έχουμε στην φόρμα το πεδίο (ΕΤΑΙΡΙΑ) και τον αντίστοιχο πίνακα (etairies)

4)Έχουμε στην φόρμα το πεδίο (ΧΡΗΣΗ) και τον αντίστοιχο πίνακα (typos)

Στον πίνακα ΠΟΣΟΣΤΑ βάζουμε τις τιμές που θέλουμε να μας δίνει ο συνδυασμός των παραπάνω δεδομένων.
π.χ ΑΠΟ (Παπαδόπουλος) ΠΡΟΣ (Αργυρίου) ΕΤΑΙΡΙΑ (Αγροτική) ΧΡΗΣΗ (ε.ι.χ) ΠΟΣΟΣΤΟ=20

Βάζοντας λοιπόν τα αντίστοιχα δεδομένα εμφανίζει στο πεδίο ποσοστό της φόρμας (είναι το πεδίο με τα αστεράκια) το 20.

Ο φίλος Γιώργος μου έφτιαξε τα εξής.

Προστέθηκαν 3 ακόμη πίνακες (etairies & Proioda & proioda Eterion),ο πίνακας etairies προυπήρχε και τον μετονόμασα σε etairia αλλά τελικά τον διέγραψα εντελώς στο νέο αρχείο που ανεβάζω γιατί δεν είχε λόγο να υπάρχει.
Αυτό οι αλλαγές έγιναν από τον Γιώργο για τον εξής λόγο.
Να μπορώ επιλέγοντας από το πεδίο ΕΤΑΙΡΙΑ (π.χ ΑΓΡΟΤΙΚΗ) να εμφανίζει στο πεδίο ΠΑΚΕΤΟ ΑΣΦΑΛΙΣΗΣ (proioda) τα συγκεκριμένα πακέτα ασφάλισης της Αγροτικής.
Στο τύπος προέλευσης γραμμής του πεδίου ΕΤΑΙΡΙΑ υπήρχε (Λίστα τιμών) το οποίο άλλαξε σε (Πίνακας/ερώτημα) και βάζοντας στην προέλευση γραμμής το εξής,

SELECT [etairies].id, [etairies].[company] FROM etairies ORDER BY [etairies].[company];

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

Προσοχή,το αρχείο ανοίγει με shift.


Η ώρα είναι 07:30.

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


Search Engine Optimization by vBSEO 3.3.2