Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ερωτήματα ] Εκτέλεση ερωτήματος από μακροεντολή?

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 25-09-10, 20:42
iondep
Guest
 
Μηνύματα: n/a
Προεπιλογή Εκτέλεση ερωτήματος από μακροεντολή?

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

Βοήθεια!!!!
Απάντηση με παράθεση
  #2  
Παλιά 25-09-10, 22:20
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Δέσποινα αν ανέβαζες μια βάση με τον πίνακα και τη φόρμα σε μορφή mdb, με λίγες εικονικές εγγραφές, είμαι σίγουρος ότι κάποιος θα σου έλυνε το πρόβλημα.
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 26-09-10, 02:04
iondep
Guest
 
Μηνύματα: n/a
Προεπιλογή

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

Ελπίζω να σας βοηθήσει για να με βοηθήσετε...
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb test1.mdb (580,0 KB, 42 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη Tasos : 26-09-10 στις 11:05. Αιτία: Διόρθωση εμφάνισης συνημμένου
Απάντηση με παράθεση
  #4  
Παλιά 26-09-10, 09:16
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα σε όλους

Δέσποινα το αρχείο που ανέβασες, αν και έχει κατάληξη *.mdb,
δε μπορώ να το ανοίξω στην access 2003 που διαθέτω. Μου εμφανίζει το μήνυμα «Μη αναγνωρίσιμη μορφή αρχείου».
Ίσως μπορέσει να το ανοίξει και να σε βοηθήσει κάποιος άλλος που διαθέτει access 2007 ή νεότερη.
Αν θέλεις προσπάθησε αφού ανοίξεις τη βάση στην access που έχεις να τη σώσεις σε μια προηγούμενη μορφή (*.mdb) και να ανεβάσεις αυτό το αρχείο.
Επίσης τα αρχεία που ανεβάζεις, αν είναι μεγάλα, μπορείς να τα συμπιέζεις.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #5  
Παλιά 26-09-10, 09:34
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα στη κοινότητα ...
Αγαπητή Δέσποινα καλώς όρισες στη παρέα μας. Είναι βέβαιο οτι εδώ θα βρεις τις απαντήσεις που θέλεις αρκεί να γίνονται κατανοητά τα ερωτήματα. Στο παράδειγμα που ανέβασες δεν φαίνεται η δευτερεύουσα, ποιο πεδίο ειναι υπολογιζόμενο ούτε γίνεται κατανοητό -βλεποντας τον πίνακα- το τι θες να κάνεις. Παρουσιάζεις απλά ένα πίνακα και δυο φόρμες που "κάθονται" πάνω σε αυτόν. Η μια φόρμα σου ειναι 'Μονή' και η άλλη 'Συνεχείς φόρμες'. Γράψε λοιπόν το τι θες να κάνεις, ποια δεδομένα θες να εισάγεις και τι πληροφορίες θες να παίρνεις απο την εφαρμογή. Με την πρότασή μου αυτή θα έχεις μια σωστή σχεδίαση και όχι μόνο.
Νίκος Δ.

Υστερολόγιο : Για να επισυνάψεις ένα αρχείο κάνε τα παρακάτω βήματα
  • Στην οθόνη που γράφεις το μήνυμα 'κατέβα' παρακάτω και κάνε κλικ στην επιλογή "Διαχείριση συνημένων αρχείων"
  • Πάνω - πάνω κάνε 'Αναζήτηση...' του αρχείου. Θα ανοίξει ένα νέο παράθυρο -βρες το αρχείο και πάτησε άνοιγμα(αν θυμάμαι καλά), χαμηλά δεξιά. περίμενε λίγο...
  • Πάτα 'Ανέβασμα' μόλις στο παράθυρο δεις να εμφανίζεται η διαδρομή πο επέλεξες.
  • Περίμενε λίγο θα εμφανιστεί το αρχείο που ανέβασες και ...αυτό ήταν !
Γιώργο καλημέρα. Είδα το μήνυμά σου και ανεβάζω το αρχείο της Δέσποινας
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb test1.mdb (580,0 KB, 34 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη Meteora : 26-09-10 στις 10:27.
Απάντηση με παράθεση
  #6  
Παλιά 26-09-10, 11:14
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Νίκο καλημέρα
Δοκίμασα να ανοίξω το αρχείο που επισυνάπτεις και μου έβγαλε το ίδια μήνυμα (μη αναγνωρίσιμη μορφή). Δεν ξέρω τι συμβαίνει, αλλά κάτι τέτοια με κάνουν να σκεφτώ την αναβάθμιση της access που έχω.
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #7  
Παλιά 26-09-10, 11:24
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα σε όλους!

Δέσποινα καλωσόρισες κι από μένα!
Διόρθωσα το συνημμένο σου για να εμφανίζεται σωστά.
Αν ακολουθήσεις τις οδηγίες του Νίκου, δεν νομίζω να αντιμετωπίσεις πρόβλημα σε σχέση με την επισύναψη αρχείων στο φόρουμ.
Αν το αρχείο προς επισύναψη είναι μεγάλο, συμπίεσε το με Zip.
Με το τρόπο ο όγκος των αρχείων του Office (εκτός τα *.xls(x,m,b) θα μικρύνει έως και 10 φορές.

Τώρα στην ερώτηση σου.
Με τη λογική του ότι η τιμή του πεδίου [Μ3] εξαρτάται από την τιμή του πεδίου [ΜΗΚΟΣ ΠΩΛΗΣΗΣ], μπορείς να κάνεις τα παρακάτω:

Εκτέλεση ερωτήματος από μακροεντολή?-image0.png

Εκτέλεση ερωτήματος από μακροεντολή?-image1.png

Σύνδεσε το πεδίο της φόρμας [Μ3] με το πεδίο του πίνακα [ΠΑΡΑΓΩΓΗ].[Μ3] (Δε χρειάζεται πια να υπολογίζει).

Στο φύλλο ιδιοτήτων του πεδίου [Μ3], στην καρτέλα "Συμβάν" κάνε κλικ στο συμβάν "Μετά την ενημέρωση" και στο διάλογο επιλογής Δόμησης που θα εμφανιστεί, επίλεξε "Δόμηση κώδικα" (βλ. εικόνες παρακάτω).

Θα σου ανοίξει το παράθυρο του VBE όπου θα δεις το παρακάτω:

Κώδικας:
Private Sub ΜΗΚΟΣ ΠΩΛΗΣΗΣ_AfterUpdate()
  
End Sub
Άντικατέστησε το με το παρακάτω:

Κώδικας:
Private Sub ΜΗΚΟΣ ΠΩΛΗΣΗΣ_AfterUpdate()
     Me![M3] = IIf(Nz(Me![ ΜΗΚΟΣ ΠΩΛΗΣΗΣ], 0) * 2 = 0, Null, Me![ ΜΗΚΟΣ ΠΩΛΗΣΗΣ] * 2)
  End Sub
Με τον τρόπο αυτό δε χρειάζεσαι ερωτήματα ανανέωσης κτλ. αφού η υπολογιζόμενη τιμή περνιέται κατευθείαν στη φόρμα σου και φυσικά στον πίνακα (το πεδίο της φόρμας [Μ3] είναι πια συνδεμένο με το πεδίο του πίνακα [ΠΑΡΑΓΩΓΗ].[Μ3] )

Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 26-09-10 στις 12:32.
Απάντηση με παράθεση
  #8  
Παλιά 26-09-10, 13:00
iondep
Guest
 
Μηνύματα: n/a
Προεπιλογή

Προσπάθησα να το κάνω ξανά για να καταλάβετε αυτό που ζητάω.
Αν μπορείτε να δείτε τα δεδομένα στον πίνακα στην πρώτη γραμμή είναι το ζητούμενο δλδ θέλω από την ειγασωγή των δεδομένων σε κάθε γραμμή να πηγαίνει να βλέπει στον πίνακα παραγωγή που τα στοιχεία αριθμός παραγωγής,ημερομηνία και θέση είναι ίδια με αυτά που έβαλε ο χρήστης και στην γραμμή που τα βρίσκει να πηγαίνει να βάζει και τα υπόλοιπα στοιχεία της γραμμής.
Το υπολογίζόμενο στοιχείο της φόρμας είναι το Μ3 όπως θα δείτε.

test1.mdb
Απάντηση με παράθεση
  #9  
Παλιά 26-09-10, 13:18
iondep
Guest
 
Μηνύματα: n/a
Προεπιλογή

Τάσο ευχαριστώ πολύ για την απάντηση,
αλλά ακόμα και το Μ3 θέλω να μπαίνει μόνο εάν βρεθεί η σωστή γραμμή στον πίνακα.Όποτε θα ήθελα κάθε φορά που ενημερώνεται και το Μ3, που είναι το τελευταίο στοιχείο της γραμμής στη φόρμα, να εκτελείται το ερώτημα το οποίο εισάγει δεδομένα αφού ελέγξει τις γραμμές του πίνακα.
Το ζητούμενο δεν είναι νέα εγγραφή στον πίνακα ΠΑΡΑΓΩΓΗ αλλά ενημέρωση υπό συνθήκη μιας υπάρχουσας.

Ελπίζω να γίνομαι κατανοητή και όχι κουραστική...
Απάντηση με παράθεση
  #10  
Παλιά 26-09-10, 14:49
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Δέσποινα με συγχωρείς! Μπερδεύτηκα!
Δεν κατάλαβα ακόμα το ζητουμενο σου!

Παράθεση:
Αρχική Δημοσίευση από iondep Εμφάνιση μηνυμάτων
....
Το ζητούμενο δεν είναι νέα εγγραφή στον πίνακα ΠΑΡΑΓΩΓΗ αλλά ενημέρωση υπό συνθήκη μιας υπάρχουσας...
Η νέα εγγραφή είναι αναπόφευκτη αφού η φόρμα σου συνδέεται με πίνακα!
Επίσης χωρίς νέα εγγραφή δεν υφίσταται υπάρχουσα εγγραφή!

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


Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Εκτέλεση Ερωτήματος από μακροεντολή ggreg75 Access - Ερωτήσεις / Απαντήσεις 4 08-06-16 14:57
Εκτέλεση ερωτήματος κάθε 1η του μήνα gmax Access - Ερωτήσεις / Απαντήσεις 8 07-05-15 12:50
Έλεγχος αν η εκτέλεση ερωτήματος επιστρέφει κάτι. sarrpan Access - Ερωτήσεις / Απαντήσεις 6 14-02-14 07:37
[Excel07] Μακροεντολή anestaki Excel - Ερωτήσεις / Απαντήσεις 4 10-04-12 20:46


Η ώρα είναι 18:51.