Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Πίνακες ] Μαζικη αντιγραφή εγγραφών στον ίδιο πίνακα

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 25-10-16, 20:32
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-07-2014
Περιοχή: Πάτρα
Μηνύματα: 385
Προεπιλογή Μαζικη αντιγραφή εγγραφών στον ίδιο πίνακα

Γειά σας

Στην παραδειγματική βάση που ανέβασα, υπάρχει η φόρμα [frmNextMonth]
η οποία αντλεί δεδομένα από το [qryNextMonth].
Στο [qryNextMonth] υπάρχουν κριτήρια προκειμένου να εμφανίζονται εγγραφές
του επόμενου μήνα (από τον τρέχοντα).

Κάνοντας κλικ στο πεδίο [ID] της φόρμας [frmNextMonth], η τρέχουσα εγγραφή αντιγράφεται
σε νέα γραμμή του πίνακα, με κάποιες διαφοροποιήσεις που ορίζονται
στον κώδικα, (ο οποίος δημιουργήθηκε με τη βοήθεια μέλους του Forum, το Γιώργο "kapetang").
Η αρχική εγγραφή παραμένει στον πίνακα με μικροαλλαγές.

Πώς μπορούμε να πραγματοποιήσουμε μαζική αντιγραφή όλων των εγγραφών
που εμφανίζονται στη φόρμα [frmNextMonth], με τους ίδιους όρους και προυποθέσεις
που γίνεται η κάθε αντιγραφή ξεχωριστά ;


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


Σας ευχαριστώ εκ των προτέρων.
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb DB.COPY.accdb (424,0 KB, 14 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 26-10-16, 11:34
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Δημήτρη, δες μια πρόταση στο συνημμένο.

1) Το ερώτημα [qryNextMothForADD] εμφανίζει τις εγγραφές, όπως ακριβώς θα προστεθούν.

Δηλαδή με τις παρακάτω αλλαγές.

[IsxisN]=False, [KatastasiN]=”ΑΚΥΡΟ», [EnarxiN]=[LIXI], [ LixiN]=[LIXI]+ μήνες διάρκειας.

2) Το ερώτημα προσάρτησης [qryNextMonthADD] προσθέτει τις παραπάνω εγγραφές στον πίνακα tblA.

3) Το ερώτημα [qryCheckADD] χρησιμεύει στην αποτροπή πολλαπλής προσάρτησης των ίδιων εγγραφών.

4) Η φόρμα [frmNextMonthADD] εμφανίζει τις εγγραφές που θα προστεθούν.

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

Κάποιες σκέψεις για τη σχεδίαση του πίνακα tblA:

1) Το πεδίο [DIARKIA], που εκφράζει χρονικό διάστημα σε μήνες, είναι πιο βολικό να είναι αριθμητικό.

2) Το πεδίο [LIXI] μπορεί να υπολογιστεί από το [ENARXI] και το [DIARKIA] και θα μπορούσε να είναι υπολογιζόμενο (ή να απουσιάζει).

3) Νομίζω επίσης ότι και τα πεδία [ISXIS] και [KATASTASI] δεν είναι άσχετα ([ISXIS]=True ==>[KATASTASI]="ΕΝΕΡΓΟ" και [ISXIS]=False ==> [KATASTASI]="ΑΚΥΡΟ"), θα μπορούσε συνεπώς το [KATASTASI] να είναι υπολογιζόμενο (ή να απουσιάζει).

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb AppendRecords.mdb (560,0 KB, 13 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 26-10-16, 12:59
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-07-2014
Περιοχή: Πάτρα
Μηνύματα: 385
Προεπιλογή

Γειά σας.

Γιώργο σε υπερευχαριστώ για την ανεκτίμητη βοήθεια σου.
Έκανα ήδη κάποιες δοκιμές και διαπίστωσα ότι είναι ακριβώς αυτό που ήθελα,
με δυο διαφορές ως προς το αρχικό ζητούμενο:

1) Η φόρμα [frmNextMonthADD] που εμφανίζει τις εγγραφές που θα προστεθούν, θα ήθελα να εμφανίζει το πεδίο IsxisN= True (αντί false)
και το πεδίο KatastasiN= "ΕΝΕΡΓΟ" (αντί ΑΚΥΡΟ).
Έκανα σχετική διόρθωση στο ερώτημα [qryNextMonthForADD] και όλα κανονικά.

2) Θα ήθελα, επίσης, οι αρχικές εγγραφές (παλιές) που αντιγράφοναι να αλλάζουν τα πεδία τους ως ακολούθως:
α. Το πεδίο [ISXIS] να γίνεται = false και
β. Το πεδίο [KATASTASI] να γίνεται = "ΑΚΥΡΟ"

Λοιπά πεδία των αρχικών εγγραφών που αντιγράφηκαν να παραμένουν ως έχουν.

Θα ήθελα, αν μπορείς, τη βοήθεια σου και σ`αυτό.
Απάντηση με παράθεση
  #4  
Παλιά 26-10-16, 15:32
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Δημήτρη, δες το συνημμένο.

1) Το ερώτημα [qryNextMothForADD] εμφανίζει τις εγγραφές, όπως ακριβώς θα προστεθούν.

2) Το ερώτημα προσάρτησης [qryNextMonthADD] προσθέτει τις παραπάνω εγγραφές στον πίνακα tblA.

Πριν από την προσθήκη, ο κώδικας αποθηκεύει τα [IDA] των εγγραφών, στον βοηθητικό πίνακα [tblHLP].

3) Το ερώτημα [qryUpdateOLD] ενημερώνει, με τη βοήθεια και του πίνακα[ tblHLP], τις παλιές εγγραφές του πίνακα [tblA].

4) Η φόρμα [frmNextMonthADD] εμφανίζει τις εγγραφές που θα προστεθούν.

Πατώντας το σχετικό κουμπί της, ο κώδικας αποθηκεύει τα [IDA] στον πίνακα [tblHLP], προσαρτά τις εγγραφές στον πίνακα [tblA] και τέλος ενημερώνει τις παλιές εγγραφές του.
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb AppendRecords2.mdb (904,0 KB, 20 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 28-10-16, 12:28
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-07-2014
Περιοχή: Πάτρα
Μηνύματα: 385
Προεπιλογή

Γεια σας

Γιώργο, με υπερκάλυψες με την τελευταία πρότασή σου και σ`ευχαριστώ θερμά γι`αυτό.

Και τούτο διότι, εκεί που έκανα την κοπιαστική και χρονοβόρα διαδικασία ένα-ένα κλικ
προκειμένου να ανανεώσω τις εγγραφές μου για την επόμενη χρονική περίοδο, τώρα
με μια κίνηση αντιγράφω όλες τις περιοδικές εγγραφές.

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

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

Καλησπέρα

Στην προηγούμενη πρότασή μου χρησιμοποιείται ένας βοηθητικός πίνακας και αρκετά ερωτήματα.

Σκέφτηκα αν θα μπορούσαμε να τα αποφύγουμε και να πετύχουμε μια λύση μόνο με κώδικα.

Μετά από κάποιες δοκιμές κατέληξα στη συνημμένη λύση.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb AppendRecords3.mdb (472,0 KB, 36 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 28-10-16, 19:11
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-07-2014
Περιοχή: Πάτρα
Μηνύματα: 385
Προεπιλογή

Καλησπέρα

Γιώργο, είσαι καταπληκτικός!!!

Έκανα κι εγώ διάφορες δοκιμές και διαπίστωσα ότι ο κώδικας λειτουργεί τέλεια.

Αν έχεις την καλωσύνη, όποτε μπορέσεις, μια μικρή βοήθεια ακόμη:

Πως θα τροποποιήσουμε το μέρος του κώδικα,

strSQL = "SELECT tblA.* FROM tblA " & _
"WHERE [ISXIS]=True AND Year([LIXI])=Year(DateAdd(""m"",1,Date()))" & _
" And Month([LIXI])=Month(DateAdd(""m"",1,Date()))"

έτσι ώστε να μας προσαρτά, τις εγγραφές του τρέχοντα μήνα;
Απάντηση με παράθεση
  #8  
Παλιά 28-10-16, 20:21
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Δημήτρη, δοκίμασε:

Κώδικας:
strSQL = "SELECT tblA.* FROM tblA " & _
             "WHERE [ISXIS]=True AND Year([LIXI])=Year(Date())" & _
             " And Month([LIXI])=Month(Date())"
Απάντηση με παράθεση
  #9  
Παλιά 28-10-16, 20:45
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-07-2014
Περιοχή: Πάτρα
Μηνύματα: 385
Προεπιλογή

Γιώργο, όλα καλά...

Σε ευχαριστώ και πάλι.

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

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Πίνακες ] Πολλαπλή αντιγραφή μιάς εγγραφής στον ίδιο πίνακα dimitrisp Access - Ερωτήσεις / Απαντήσεις 14 05-10-16 22:38
Μερικά άθροισμα στον ίδιο πίνακα και ερωτημα pansyr Access - Ερωτήσεις / Απαντήσεις 11 06-10-15 18:34
[ Πίνακες ] Ενωση 2 πεδίων στον ίδιο πίνακα kantidenos Access - Ερωτήσεις / Απαντήσεις 1 01-10-13 03:28
[ Πίνακες ] Αντιγραφή εγγραφών από πίνακα σε πίνακα apostolos Access - Ερωτήσεις / Απαντήσεις 3 30-08-13 15:36
[Μορφοποίηση] Μαζική αντιγραφή μορφοποίηση υπό όρους starcctv Excel - Ερωτήσεις / Απαντήσεις 5 14-03-13 20:12


Η ώρα είναι 09:36.