Εμφάνιση ενός μόνο μηνύματος
  #14  
Παλιά 19-10-16, 10:18
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Βασίλη, δεν έχω χρόνο για να ψάξω το λαβύρινθο!

Ίσως τα παρακάτω να βοηθήσουν να βρεις το λάθος και να διαμορφώσεις σωστά τα κριτήρια αναζήτησης.

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

Για την καταχώρηση των χαρακτηριστικών των ελαττωμάτων χρησιμοποιούνται 3 τριάδες πεδίων (Ε1, Θ1, Δ1), (Ε2, Θ2, Δ2), (Ε3, Θ3, Δ3).

Συνεπώς μπορούν να καταχωρηθούν από μηδέν (όλα τα πεδία κενά) μέχρι 3 ελαττώματα.

Οι συνδυασμοί των τιμών της 3άδας (Ε1, Θ1, Δ1), είναι 2*3*6 + 1 (όλα τα πεδία κενά)=37.

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

Τα ίδια ισχύουν και για τους συνδυασμούς των τιμών των 3άδων (Ε2, Θ2, Δ2) και (Ε3, Θ3, Δ3).

Ένα ελάττωμα (ε, θ, δ) = (έχει εμφάνιση ε, βρίσκεται στη θέση θ, έχει δυσκολία επισκευής δ), μπορεί, σε μία εγγραφή του πίνακα, να εμφανίζεται 0 ή 1 ή 2, ή 3 φορές.

Όπως είναι διαμορφωμένη η φόρμα αναζήτησης, μπορούμε να αναζητήσουμε τις εγγραφές του πίνακα, που παρουσιάζουν το ελάττωμα (ε, θ, δ) Ν φορές (Ν=0, 1, 2, 3).

Τα κριτήρια στο ερώτημα θα πρέπει να διαμορφωθούν ανάλογα και με την τιμή του Ν.

1) Ν είναι κενό. Ισοδυναμεί με το:

Δε θα εφαρμοστούν κριτήρια στα πεδία ελαττωμάτων.

2) Ν=0. Ισοδυναμεί με το:


Το (ε,θ,δ) να μη υπάρχει, στο (Ε1,Θ1,Δ1) και στο (Ε2,Θ2,Δ2) και στο (Ε3,Θ3,Δ3)

Τα κριτήρια θα έχουν τη μορφή

(isNull(E1) OR E1<>ε OR isNull(Θ1) OR Θ1<>θ OR isNull(Δ1) OR Δ1<>δ)

AND (isNull(E2) OR E2<>ε OR isNull(Θ2) OR Θ2<>θ OR isNull(Δ2) OR Δ2<>δ)

AND (isNull(E3) OR E3<>ε OR isNull(Θ3) OR Θ3<>θ OR isNull(Δ3) OR Δ3<>δ)

3) Αν Ν=1. Ισοδυναμεί με το:
  • Το (ε,θ,δ) να υπάρχει στο (Ε1,Θ1,Δ1) να μη υπάρχει στο (Ε2,Θ2,Δ2) και να μη υπάρχει στο (Ε3,Θ3,Δ3)
  • Το (ε,θ,δ) να μη υπάρχει στο (Ε1,Θ1,Δ1) να υπάρχει στο (Ε2,Θ2,Δ2) και να μη υπάρχει στο (Ε3,Θ3,Δ3)
  • Το (ε,θ,δ) να μη υπάρχει στο (Ε1,Θ1,Δ1) να μη υπάρχει στο (Ε2,Θ2,Δ2) και να υπάρχει στο (Ε3,Θ3,Δ3)

Τα κριτήρια θα έχουν τη μορφή

((Ε1=ε AND Θ1=θ AND Δ1=δ) AND (isNull(Ε2) OR Ε2<>ε OR isNull(Θ2) OR Θ2<>θ OR isNull(Δ2) OR Δ2<>δ) AND ( isNull(Ε3) OR Ε3<>ε OR isNull(Θ3) OR Θ3<>θ OR isNull(Δ3) OR Δ3<>δ))

OR ((isNull(Ε1) OR Ε1<>ε OR isNull(Θ1) OR Θ1<>θ OR isNull(Δ1) OR Δ1<>δ) AND (Ε2=ε AND Θ2=θ AND Δ2=δ) AND (isNull(Ε3) OR Ε3<>ε OR isNull(Θ3) OR Θ3<>θ OR isNull(Δ3) OR Δ3<>δ))

OR ((isNull(Ε1) OR Ε1<>εOR isNull(Θ1) OR Θ1<>θ OR isNull(Δ1) OR Δ1<>δ) AND (isNull(Ε2) OR Ε2<>εOR isNull(Θ2) OR Θ2<>θ OR isNull(Δ2) OR Δ2<>δ) AND (Ε3=ε AND Θ3=θ AND Δ3=δ))

4) N=2 Ισοδυναμεί με το:
  • Το (ε,θ,δ) να υπάρχει στα (Ε1,Θ1,Δ1) και (Ε2,Θ2,Δ2) και να μη υπάρχει στο (Ε3,Θ3,Δ3)
  • Ή το (ε,θ,δ) να υπάρχει στα (Ε1,Θ1,Δ1) και (Ε3,Θ3,Δ3) και να μη υπάρχει στο (Ε2,Θ2,Δ2)
  • Ή το (ε,θ,δ) να υπάρχει στα (Ε2,Θ2,Δ2) και (Ε3,Θ3,Δ3) και να μη υπάρχει στο (Ε1,Θ1,Δ1)
5) Ν=3. Ισοδυναμεί με το:

Το (ε,θ,δ) να υπάρχει στα (Ε1,Θ1,Δ1), (Ε2,Θ2,Δ2) και (Ε3,Θ3,Δ3)

Θα πρότεινα αντί να έχεις τα πεδία (Ε1, Θ1, Δ1), (Ε2, Θ2, Δ2), (Ε3, Θ3, Δ3) στον πίνακα [Κατάστημα] να δημιουργήσεις ένα νέο πίνακα με πεδία ID (αυτόματης αρίθμησης) ΚατάστημαID (ακέραιος θα συνδέεται με το Αναγνωριστικό του πίνακα Κατάστημα) και Ε, Θ, Δ.
Η ΒΔ θα γίνει πιο ευέλικτη και η εφαρμογή των κριτηρίων θα απλοποιηθεί.

Καλή συνέχεια.
Απάντηση με παράθεση