Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Πεδίο πολλαπλών τιμών
Καλησπέρα στο Forum Εχω κολλήσει σε ένα θέμα με πεδίο πολλαπλών τιμών στην Access 2007 Εχω ένα πίνακα του οποίου ένα πεδίο είναι πολλαπλών τιμών και πέρνει τιμές από λίστα Μέχρι εδώ όλα οκ Προσπαθώ να αντιγράψω μια εγρραφή από τις πολλές αυτού του πίνακα αυτούσια σε μια νέα είτε με ερώτημα προσάρτησης είτε με VBA rec.addnew κλπ Σε κάθε περίπτωση κολλάω στο πεδίο πολλαπλών τιμών το οποίο δεν μπορεί να το διαχειριστεί παράλληλα με τα υπόλοιπα. Παρ όλα αυτά αν προσπαθήσω να αντιγράψω το record me copy paste από τον πινακα η το query χειροκίνητα στην ουσία όλα οκ Έχει κανένας καμία ιδέα πως θα μπορούσε να γίνει...? Δεν επισυνάπτω παράδειγμα γιατί μπορείτε εύκολα νομίζω να το αναπαράγετε Απλά φτιάξτε ένα πίνακα με 2-3 πεδία ένα εκ των οποίων να είναι πολλαπλών τιμών βάλτε 2-3 εγγραφές και προσπαθήστε μία από αυτές να την προσθέσετε στον πίνακα ως νέα με ίδιες ακριβώς τιμές με αυτήν που αντιγράφετε Ευχαριστώ εκ των προτέρων |
#2
| |||
| |||
Καλημέρα στην παρέα Δημήτρη, στη ΒΔ που επισυνάπτω, προσπάθησα να υλοποιήσω το ζητούμενο. Η ΒΔ αποτελείται από: 1) Τον πίνακα «tblEmployees», που περιέχει τα ονόματα των υπαλλήλων μιας εταιρείας. 2) Τον πίνακα «tblProjects» που περιέχει τα στοιχεία των έργων της εταιρείας. Επειδή ένα έργο μπορεί να ανατεθεί σε πολλούς υπαλλήλους, το πεδίο «Assignment» που έχει τα στοιχεία των υπαλλήλων στους οποίους έχει ανατεθεί το έργο, είναι πολλαπλών τιμών. 3) Τη φόρμα «frmProjects», που βασίζεται στον πίνακα «tblProjects». Αν πατήσουμε το κουμπί «Προσθήκη» προστίθεται μια νέα εγγραφή στον πίνακα όμοια με την τελευταία της φόρμας. Η λειτουργικότητα του κουμπιού οφείλεται στον παρακάτω κώδικα. Κώδικας: Private Sub cmdAdd_Click() Dim strSQL As String Dim x, i As Integer, y As String, cnt As Long Me.Recordset.MoveLast y = Me.Project x = Me.Assignment 'Προσθήκη νέας εγγραφής DoCmd.SetWarnings False strSQL = "Insert into tblProjects (Project) " & _ "Values('" & y & "')" DoCmd.RunSQL strSQL DoCmd.SetWarnings False Me.Requery Me.Recordset.MoveLast cnt = Me.ProjectID 'Προσθήκη τιμών στο πεδίο πολλαπλών τιμών DoCmd.SetWarnings False For i = 0 To UBound(x) strSQL = "Insert into tblProjects (Assignment.Value) " & _ "Values(" & x(i) & ") WHERE ProjectID=" & cnt DoCmd.RunSQL strSQL Next DoCmd.SetWarnings False Me.Requery End Sub Φιλικά/Γιώργος |
#3
| |||
| |||
Γιώργο σ' ευχαριστώ πολύ για τον χρόνο σου. Θα το κοιτάξω και θα σου πω νέα |
#4
| |||
| |||
Γιώργο όντως λειτουργεί ο κώδικάς σου. Το πρόβλημα είναι ότι η αντιγραφή πρέπει να γίνει χωρίς να υπάρχει αντικείμενο ανοικτό. Η φόρμα στην περίπτωσή μας. Οπως είχα αναφέρει σε επίπεδο ανοικτού αντικειμένου δουλεύει. Για κάποιο παράξενο τρόπο αντιμετωπίζω πρόβλημα όταν προσπαθώ να εφαρμόσω sql insert ή dao.recordset addnew χωρίς να υπάρχει ανοικτό αντικείμενο |
#5
| ||||
| ||||
Καλημέρα Δημήτρη, η σχεδίασή σου δεν επιτρέπει να είναι το πεδίο στον πίνακα απλό (π.χ.κειμένου) και στη φόρμα να "φαίνεται" πολλαπλό; (ένα πλαίσιο λίστας να είναι συνδεδεμένο με το πεδίο). Φίλε μου, δεν λέω ότι δεν πέρασε από το μυαλό σου η σκέψη που παρουσιάζω, απλά θέλω να πω, οτι ποτέ δεν είχα δομή πίνακα στον οποίο να υπάρχει πολλαπλό πεδίο... Άντε και καλούς βαθμούς αύριο... Φιλικά Νίκος Δ. |
#6
| |||
| |||
Καλημέρα στην παρέα Δημήτρη, στη ΒΔ που επισυνάπτω έχω προσθέσει και τη φόρμα «frmAppend» που έχει μόνο ένα κουμπί. Πατώντας το κουμπί η τελευταία εγγραφή του πίνακα «tblProjects» προστίθεται πάλι στον πίνακα. Αν προσέξεις τον κώδικα θα διαπιστώσεις: 1) Οι τιμές του πεδίου των πολλαπλών τιμών μπορούν να προσπελαστούν με τη βοήθεια RecordSet. 2) Για κάθε τιμή του πεδίου πολλαπλών τιμών, που θέλουμε να προσθέσουμε, εκτελείται ένα ερώτημα INSERT INTO. Το ερώτημα INSERT INTO, δηλαδή, μπορεί να προσθέσει μόνο μία τιμή. Ελπίζω να βοήθησα Φιλικά/Γιώργος |
#7
| |||
| |||
Καλημέρα Νίκο ευχαριστώ για το ενδιαφέρον σου Ναι πέρασε από το μυάλο μου να το αλλάξω γιατί αγανάκτησα αλλά είπα να το παιδέψω μιας και εγώ πρώτη φορά μπαίνω στην χρήση αυτών και ήθελα να πλουτίσω λίγο ακόμη τις γνώσεις μου. Θεωρώ ότι σε κάποιες περιπτώσεις είναι αρκετά χρήσιμα και είπα να μάθω και βαθύτερα την λειτουργία τους. Τελικά όμως με όλο αυτό κάτι μάθαμε. Γιώργο σ' ευχαριστώ. Φαίνεται ότι δουλεύει. Δεν ξέρω. Η μόνη διαφορά έιναι ότι δεν αποθήκευα τις τιμές σε πινακά και από εκεί να τις εισάγω. Σε κάθε περίπτωση σίγουρα κάπου έχω λάθος. Αφού έχω το παράδειγμα που δουλεύει θα το βρω σίγουρα. Θα σας πω νέα Να είστε όλοι καλά |
#8
| |||
| |||
Δούλεψε μια χαρά. Όντως είχα κάποια λάθη στην σύνταξη του insert. Δεν χρησιμοποιούσα το values(). Γιώργο ευχαριστώ. Με έκανες σοφότερο Καλημέρα σε όλους |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Excel07] Φιλτράρισμα πολλαπλών στηλών | TManolis99 | Excel - Ερωτήσεις / Απαντήσεις | 5 | 29-01-14 14:26 |
Ενημέρωση τιμών πίνακα από πεδίο φόρμας | gath | Access - Ερωτήσεις / Απαντήσεις | 1 | 19-08-12 15:07 |
Φόρμες πολλαπλών ενεργειών | Zoe Forte | Access - Ερωτήσεις / Απαντήσεις | 2 | 09-05-12 00:10 |
[ Πίνακες ] Συγχώνευση πολλών τιμών σε ένα πεδίο 2 | dimitris p | Access - Ερωτήσεις / Απαντήσεις | 3 | 16-04-11 18:53 |
Εμφάνιση πολλαπλών τιμών σε λίστα | Σπύρος | Access - Ερωτήσεις / Απαντήσεις | 5 | 15-04-10 11:13 |
Η ώρα είναι 10:25.