Ανανέωση ιστοσελίδας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 18-06-11, 15:56
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή Πεδίο πολλαπλών τιμών

Καλησπέρα στο Forum
Εχω κολλήσει σε ένα θέμα με πεδίο πολλαπλών τιμών στην Access 2007
Εχω ένα πίνακα του οποίου ένα πεδίο είναι πολλαπλών τιμών και πέρνει τιμές από λίστα
Μέχρι εδώ όλα οκ
Προσπαθώ να αντιγράψω μια εγρραφή από τις πολλές αυτού του πίνακα αυτούσια σε μια νέα είτε με ερώτημα προσάρτησης είτε με VBA rec.addnew κλπ
Σε κάθε περίπτωση κολλάω στο πεδίο πολλαπλών τιμών το οποίο δεν μπορεί να το διαχειριστεί παράλληλα με τα υπόλοιπα.
Παρ όλα αυτά αν προσπαθήσω να αντιγράψω το record me copy paste από τον πινακα η το query χειροκίνητα στην ουσία όλα οκ
Έχει κανένας καμία ιδέα πως θα μπορούσε να γίνει...?
Δεν επισυνάπτω παράδειγμα γιατί μπορείτε εύκολα νομίζω να το αναπαράγετε
Απλά φτιάξτε ένα πίνακα με 2-3 πεδία ένα εκ των οποίων να είναι πολλαπλών τιμών βάλτε 2-3 εγγραφές και προσπαθήστε μία από αυτές να την προσθέσετε στον πίνακα ως νέα με ίδιες ακριβώς τιμές με αυτήν που αντιγράφετε
Ευχαριστώ εκ των προτέρων
Απάντηση με παράθεση
  #2  
Παλιά 19-06-11, 00:15
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Δημήτρη, στη ΒΔ που επισυνάπτω, προσπάθησα να υλοποιήσω το ζητούμενο.
Η ΒΔ αποτελείται από:
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
Επειδή τα πεδία πολλαπλών τιμών, δεν τα ξέρω και δεν τα συμπαθώ (παραβιάζουν βασικές αρχές των σχεσιακών βάσεων δεδομένων) ελπίζω κάποιο άλλο μέλος να σου προτείνει κάποια καλύτερη λύση.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb MultiValuesFields.accdb (416,0 KB, 44 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 19-06-11, 01:16
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Γιώργο σ' ευχαριστώ πολύ για τον χρόνο σου.
Θα το κοιτάξω και θα σου πω νέα
Απάντηση με παράθεση
  #4  
Παλιά 19-06-11, 02:31
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Γιώργο όντως λειτουργεί ο κώδικάς σου. Το πρόβλημα είναι ότι η αντιγραφή πρέπει να γίνει χωρίς να υπάρχει αντικείμενο ανοικτό. Η φόρμα στην περίπτωσή μας. Οπως είχα αναφέρει σε επίπεδο ανοικτού αντικειμένου δουλεύει.
Για κάποιο παράξενο τρόπο αντιμετωπίζω πρόβλημα όταν προσπαθώ να εφαρμόσω sql insert ή dao.recordset addnew χωρίς να υπάρχει ανοικτό αντικείμενο
Απάντηση με παράθεση
  #5  
Παλιά 19-06-11, 11:04
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Δημήτρη, η σχεδίασή σου δεν επιτρέπει να είναι το πεδίο στον πίνακα απλό (π.χ.κειμένου) και στη φόρμα να "φαίνεται" πολλαπλό; (ένα πλαίσιο λίστας να είναι συνδεδεμένο με το πεδίο).
Φίλε μου, δεν λέω ότι δεν πέρασε από το μυαλό σου η σκέψη που παρουσιάζω, απλά θέλω να πω, οτι ποτέ δεν είχα δομή πίνακα στον οποίο να υπάρχει πολλαπλό πεδίο...

Άντε και καλούς βαθμούς αύριο...

Φιλικά

Νίκος Δ.
Απάντηση με παράθεση
  #6  
Παλιά 19-06-11, 11:14
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Δημήτρη, στη ΒΔ που επισυνάπτω έχω προσθέσει και τη φόρμα «frmAppend» που έχει μόνο ένα κουμπί.
Πατώντας το κουμπί η τελευταία εγγραφή του πίνακα «tblProjects» προστίθεται πάλι στον πίνακα.
Αν προσέξεις τον κώδικα θα διαπιστώσεις:
1) Οι τιμές του πεδίου των πολλαπλών τιμών μπορούν να προσπελαστούν με τη βοήθεια RecordSet.
2) Για κάθε τιμή του πεδίου πολλαπλών τιμών, που θέλουμε να προσθέσουμε, εκτελείται ένα ερώτημα INSERT INTO. Το ερώτημα INSERT INTO, δηλαδή, μπορεί να προσθέσει μόνο μία τιμή.
Ελπίζω να βοήθησα

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb MultiValuesFields.accdb (428,0 KB, 43 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 19-06-11, 13:06
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Καλημέρα
Νίκο ευχαριστώ για το ενδιαφέρον σου
Ναι πέρασε από το μυάλο μου να το αλλάξω γιατί αγανάκτησα αλλά είπα να το παιδέψω μιας και εγώ πρώτη φορά μπαίνω στην χρήση αυτών και ήθελα να πλουτίσω λίγο ακόμη τις γνώσεις μου. Θεωρώ ότι σε κάποιες περιπτώσεις είναι αρκετά χρήσιμα και είπα να μάθω και βαθύτερα την λειτουργία τους. Τελικά όμως με όλο αυτό κάτι μάθαμε.
Γιώργο σ' ευχαριστώ.
Φαίνεται ότι δουλεύει. Δεν ξέρω. Η μόνη διαφορά έιναι ότι δεν αποθήκευα τις τιμές σε πινακά και από εκεί να τις εισάγω. Σε κάθε περίπτωση σίγουρα κάπου έχω λάθος. Αφού έχω το παράδειγμα που δουλεύει θα το βρω σίγουρα. Θα σας πω νέα
Να είστε όλοι καλά
Απάντηση με παράθεση
  #8  
Παλιά 19-06-11, 13:42
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-11-2010
Περιοχή: Γιαννιτσά
Μηνύματα: 149
Προεπιλογή

Δούλεψε μια χαρά.
Όντως είχα κάποια λάθη στην σύνταξη του insert. Δεν χρησιμοποιούσα το values().
Γιώργο ευχαριστώ. Με έκανες σοφότερο
Καλημέρα σε όλους
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός 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.