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

Καλησπέρα

Άκη καλωσόρισες στο φόρουμ.
Δεν ξέρω πως σχεδίασες τη βάση σου, αλλά δεν είναι καλή ιδέα στοιχεία που υπάρχουν σ’ ένα πίνακα να αποθηκεύονται και σε άλλους. Δημιουργούνται προβλήματα, όπως:
1) Τα στοιχεία να είναι διαφορετικά στους διάφορους πίνακες (ασυγχρόνιστα).
2). Αν κάνουμε μία διόρθωση σε κάποιο στοιχείο θα πρέπει να την επαναλάβουμε σ’ όλους τους πίνακες που έχει αποθηκευτεί.
Στη ΒΔ που επισυνάπτω, υπάρχουν οι φόρμες «frmTimologia» και «frmTimologia2» που έχουν τη λειτουργικότητα, που θέλεις χωρίς να αποθηκεύουν τα στοιχεία που υπάρχουν στον πίνακα «tblAromata» και στον πίνακα «tblTimologia».
Στη φόρμα «frmTimologia»στην προέλευση του στοιχείου ελέγχου της τιμής υπάρχει η έκφραση: =IIf(IsNull([AromaID]);"";DLookUp("Timi";"tblAromata";"AromaID=" & [AromaID])).
Η φόρμα «frmTimologia2», οφείλει τη συμπεριφορά της στο υποκείμενο ερώτημα «qryTimologia2».
Η φόρμα «frmTimologiuError» , που δεν τη συνιστώ ως λύση, αποθηκεύει υπολογιζόμενα στοιχεία και στοιχεία του πίνακα «tblAromata» και στον υποκείμενο πίνακα «tblAromataError». Η επίτευξη της λειτουργικότητά της είναι δυσκολότερη και στηρίζεται στον κώδικα:
Κώδικας:
Private Sub AromaID_AfterUpdate()
    Me.fTimi = DLookup("Timi", "tblAromata", "AromaID=" & Me.AromaID)
    Me.fAroma = DLookup("Aroma", "tblAromata", "AromaID=" & Me.AromaID)
    If Not (IsNull(Me.fTimi) Or IsNull(Me.Posotita)) Then
        Me.fAxia = Me.fTimi * Me.Posotita
    End If
End Sub

Private Sub fTimi_AfterUpdate()
    If Not (IsNull(Me.fTimi) Or IsNull(Me.Posotita)) Then
        Me.fAxia = Me.fTimi * Me.Posotita
    End If
End Sub

Private Sub Posotita_AfterUpdate()
    If Not (IsNull(Me.fTimi) Or IsNull(Me.Posotita)) Then
        Me.fAxia = Me.fTimi * Me.Posotita
    End If
End Sub
Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Aromata.mdb (380,0 KB, 78 εμφανίσεις)
Απάντηση με παράθεση