Dangelo Δημοσ. 5 Ιουλίου 2006 Δημοσ. 5 Ιουλίου 2006 Insomniacs HELP!!!! Λοιπόν, το θέμα αφορά την MsAccess, εχω μια db η οποία έχει τους πινακες: α) Προμηθευτες β) Ειδη γ) Παραγγελίες δ) Λεπτομ. Παραγγελιών ε) Παραλαβές στ) Λεπτομέριες Παραλαβών Ολοι οι πίνακες είναι συνδεδεμένοι σωστά μεταξύ τους. Αυτό που θέλω να κάνω εγώ είναι: Να παίρνω επιλέγοντας σε μια παραγγελία μου το είδος, την τελευταία τιμή που καταχώρησα στις παραγγελίες μου, βάζοντας ένα ποσοστό κέρδους το οποίο το ορίζω στον πίνακα "είδη". Ξέρω πως θα κάνω τους υπολογισμούς τιμών, αυτό που δεν ξέρω είναι πως να συνδέσω το πεδίο της τιμής του πίνακα παραγγελίες με τον πεδίο της τελευταίας τιμής (βάση ημερομηνίας πάντα) πουτ είχα καταχωρήσει στον πίνακα Παραλαβές. Όποια διευκρίνιση - βοήθεια - ιδέα αποδεκτή... Thanks in advance..
lefterhs Δημοσ. 6 Ιουλίου 2006 Δημοσ. 6 Ιουλίου 2006 Bασικα δεν καταλαβα ακριβως τι θες να κανεις, αλλα να σε ρωτησω κατι αλλο: Υπαρχει καποιος λογος που εχεις χωρισει τα δεδομενα που αφορουν μια παραλαβη σου σε 2 tables στο tbl ΠΑΡΑΛΑΒΕΣ και στο tbl ΛΕΠΤΟΜΕ... ?
Dangelo Δημοσ. 6 Ιουλίου 2006 Μέλος Δημοσ. 6 Ιουλίου 2006 ναι, το εξηγώ ακόμα καλύτερα εδώ: http://www.greekcoders.gr/forum/viewtopic.php?p=2420#2420
koYkoY_koYkoY Δημοσ. 7 Ιουλίου 2006 Δημοσ. 7 Ιουλίου 2006 Γιατί δεν καταχωρείς την τρέχουσα τιμή του είδους στον πίνακα tblΕίδη; Πώς προσθέτεις την τιμή που υπολογίζεις στο ερώτημα στα δεδομένα του πίνακα;
Dangelo Δημοσ. 7 Ιουλίου 2006 Μέλος Δημοσ. 7 Ιουλίου 2006 Η τρέχουσα τιμή του είδους βγαίνει απο τον πίνακα παραλαβές. Σε μια βάση με 2500 είδη δεν μπορώ να ενημερώνω 2500 εγγραφες ξεχωριστά, αλλά μπορώ να κάνω παραλαβή (που κάνω) και να ενημερώνω τον πίνακα παραλαβές. Απο κει και πέρα είναι ένα ερώτημα να βγάλω την τελευταία τιμή κόστους. Την τιμή την προσθέτω μέσα στην φόρμα πηγαίνοντας στα δεδομένα της φόρμας, εισάγωντας-ενώνοντας με μια σχέση τον πίνακα είδη και το ερώτημα ΤΤκόστους, ώστε να μου φέρει την τελευταία τιμή ανάλογα το είδος που θα επιλέξω. Ίσως θα μπορούσα να φτιάξω έναν προσωρινό πίνακα "Temp Είδη" στον οποίο κάθε φορά που θα γίνεται μια παραλαβή, να διαγράφει και να ξαναεγγράφει το είδη με τις ΤΤκόστους. ??? Αλλά αυτό σε περίπτωση που θα είναι άλλος μέσα στην βάση δεν θα δημιουργήσει πρόβλημα?
koYkoY_koYkoY Δημοσ. 7 Ιουλίου 2006 Δημοσ. 7 Ιουλίου 2006 Γιατί πρέπει να ενημερώνεις και τις 2500 εγγραφές ξεχωριστά; Μπορείς να ενημερώνεις μόνο τις εγγραφές που χρειάζεται. Δημιούργησε ένα ερώτημα qrΠαραλαβές SELECT tblΠαραλαβές.Ημερομηνία, tblΠαραλαβές.IDΠαραλαβής, tblΛεπτομέρειεςΠαραλαβής.IDΕίδους, tblΛεπτομέρειεςΠαραλαβής.Τιμή FROM tblΠαραλαβές INNER JOIN tblΛεπτομέρειεςΠαραλαβής ON tblΠαραλαβές.IDΠαραλαβής = tblΛεπτομέρειεςΠαραλαβής.IDΠαραλαβής ORDER BY tblΠαραλαβές.Ημερομηνία DESC , tblΠαραλαβές.IDΠαραλαβής DESC; Εκείνο που τελικά θέλεις είναι κάθε φορά που επιλέγεις ένα Είδος για τη φόρμα ΛεπτομέρειεςΠαραγγελιών τότε να εμφανίζεται η τρέχουσα τιμή όπως αυτή έχει καταχωρηθεί στον πίνακα ΛεπτομέρειεςΠαραλαβών; Αν λοιπόν θέλεις αυτό φαντάζομαι ότι στη φόρμα σου πρέπει να έχεις ένα σύνθετο πλαίσιο (cboΕίδος) από το οποίο επιλέγεις το είδος για κάθε νέα ΛεπτομέρειαΠαραγγελίας. Θα μπορούσες να αντλήσεις την τρέχουσα τιμή για το είδος που επιλέγεις από το σύνθετο πλαίσιο με τον παρακάτω κώδικα. Private Sub cboΕίδος_AfterUpdate() Dim dbs As Database Dim rst As Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset("qrΠαραλαβές") If Not rst.BOF Then rst.MoveFirst End If rst.FindFirst "IDΕίδους=" & Me.cboSpecie.Column(0) If rst.NoMatch = True Then MsgBox "Δεν υπάρχει καταχωρημένη τιμή για το Είδος" Else Dim curCurrentPrice As Currency curCurrentPrice = rst!Τιμή Me.txtCurrentPrice.SetFocus Me.txtCurrentPrice = curCurrentPrice End If rst.Close End Sub Οι παραπάνω παραπομπές στα στοιχεία ελέγχου της φόρμας σου ή πεδίων θα πρέπει να αλλάξουν ανάλογα με το πως τα έχεις ονομάσει καθώς και αν χρησιμοποιείς υποφόρμες.
Dangelo Δημοσ. 8 Ιουλίου 2006 Μέλος Δημοσ. 8 Ιουλίου 2006 Δεν ξέρω και πάρα πολλά απο VBA, έκανα αυτό: Private Sub Κείμενο19_AfterUpdate() Dim dbs As Database Dim rst As Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset("qry ΤΡΕΧΟΥΣΕΣ ΤΙΜΕΣ ΒΑΣΗ ΠΑΡΑΛΑΒΩΝ") If Not rst.BOF Then rst.MoveFirst End If rst.FindFirst "ID ΕΙΔΟΥΣ=" & Me.Κείμενο19.Column If rst.NoMatch = True Then MsgBox "Δεν υπάρχει καταχωρημένη τιμή για το Είδος" Else Dim curCurrentPrice As Currency curCurrentPrice = rst!ΧΟΝΔΡΙΚΗ Me.txtCurrentPrice.SetFocus Me.txtCurrentPrice = curCurrentPrice End If rst.Close End Sub ΧΟΝΔΡΙΚΗ = το πεδίο που θέλω να φέρω απο το ερώτημα μου. Κείμενο19 = το πεδίο που έχω μέσα στην φόρμα μου και θέλω να μου εμφανίζεται το ΧΟΝΔΡΙΚΗ ID ΕΙΔΟΥΣ = O κωδικός του είδους μου. Τί κάνω λάθος? ? Thanks
koYkoY_koYkoY Δημοσ. 9 Ιουλίου 2006 Δημοσ. 9 Ιουλίου 2006 Γράψε μας την sql του ερωτήματος που έχεις φτιάξει ως qry ΤΡΕΧΟΥΣΕΣ ΤΙΜΕΣ ΒΑΣΗ ΠΑΡΑΛΑΒΩΝ.
Dangelo Δημοσ. 10 Ιουλίου 2006 Μέλος Δημοσ. 10 Ιουλίου 2006 SELECT [qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ].[iD ΕΙΔΟΥΣ], [qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ].ΤελευταίοΤουΤΙΜΗ, [tbl ΕΙΔΗ].[MARGIN ΧΟΝΔΡΙΚΗΣ], [tbl ΕΙΔΗ].ΠΕΡΙΓΡΑΦΗ, [tbl ΕΙΔΗ].[MARGIN ΛΙΑΝΙΚΗΣ], [tbl ΦΠΑ].ΠΟΣΟΣΤΟ, [ΤελευταίοΤουΤΙΜΗ]/[MARGIN ΧΟΝΔΡΙΚΗΣ] AS ΧΟΝΔΡΙΚΗ, ([ΤελευταίοΤουΤΙΜΗ]/[MARGIN ΛΙΑΝΙΚΗΣ])*(1+([ΠΟΣΟΣΤΟ]/100)) AS ΛΙΑΝΙΚΗ FROM [tbl ΦΠΑ] INNER JOIN ([qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ] INNER JOIN [tbl ΕΙΔΗ] ON [qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ].[iD ΕΙΔΟΥΣ] = [tbl ΕΙΔΗ].[iD ΕΙΔΟΥΣ]) ON [tbl ΦΠΑ].[iD ΦΠΑ] = [tbl ΕΙΔΗ].[iD ΦΠΑ]; Ayto einai to qry...
koYkoY_koYkoY Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 Κάνε το εξής και δες πως λειτουργεί. Στη φόρμα σου στην προέλευση στοιχείου ελέγχου του πλαίσιου κειμένου όπου θέλεις να εμφανίζεται η τιμή της Χονδρικής γράψε =DLookUp("ΧΟΝΔΡΙΚΗ";"[qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ]";"[qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ]![iD ΕΙΔΟΥΣ]=" & [Φόρμες]!['ΟνομαΦόρμας]!['ΟνομαΣτοιχείουΕλέγχουΠουΠεριέχειΤοIDΕίδους]) Αν το [iD Είδους] περιέχεται σε ένα σύνθετο πλαίσιο από το οποίο επιλέγεις το Είδος τότε το παραπάνω γίνεται =DLookUp("ΧΟΝΔΡΙΚΗ"; "[qry ΤΕΛΕΥΤΑΙ ΤΙΜΗ ΚΟΣΤΟΥΣ]"; "[qry ΤΕΛΕΥΤΑΙΑ ΤΙΜΗ ΚΟΣΤΟΥΣ]![iD ΕΙΔΟΥΣ]=" & [Φόρμες]![ΌνομαΦόρμας]![ΌνομαΣτοιχείουΕλέγχουΠουΠεριέχειΤοIDEίδους].Column(0))
Dangelo Δημοσ. 10 Ιουλίου 2006 Μέλος Δημοσ. 10 Ιουλίου 2006 Δες και το mdb αν θέλεις... http://www.kapetaniossa.gr/images/Db.rar
koYkoY_koYkoY Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 Στη βάση που στέλνεις λείπει το tbl ΕΚΠΤΩΣΕΙΣ ΠΕΛΑΤΩΝ και η φόρμα frm ΠΡΟΣΦΟΡΕΣ#1 δεν ανοίγει.
Dangelo Δημοσ. 10 Ιουλίου 2006 Μέλος Δημοσ. 10 Ιουλίου 2006 ΟΚz,λύθηκε με την Dlookup, αλλα μου βγάζει #Σφάλμα, όταν δεν έχω επιλεγμένο είδος... Παίζει τπτ άλλο, ετσι ώστε να μου εμφανίζει κενή (Null) τιμή? Thanks!!!!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.