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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 08-07-20, 13:54
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 52
Προεπιλογή Εκτέλεση ερωτήματος Update με το πάτημα ενός κουμπιού

Γεια σας!
Στο αρχείο που επισυνάπτω υπάρχει η φόρμα "ΕΝΔΙΑΜΕΣΟ" η οποία κατά το άνοιγμα ζητάει κωδικό πελάτη (υπάρχει περασμένος ο πελάτης 76) κι έπειτα ανοίγει η φόρμα "ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ" στην οποία εμφανίζονται τα πεδία ΑΥΞΩΝ (τύπου αριθμού), ΠΕΛΑΤΗΣ (τύπου αριθμού) και ΣΥΜΦΩΝΙΑ (τύπου αριθμού), καθώς και άλλα πεδία.

Στη φόρμα υπάρχει ένα κουμπί "ΕΙΣΟΔΟΣ ΠΕΛΑΤΗ" με το πάτημα του οποίου θα ήθελα να εισάγεται μια εγγραφή στον πίνακα "ΠΡΟΠΟΝΗΣΕΙΣ" ο οποίος περιλαμβάνει τα πεδία "ΑΥΞΩΝ", "ΠΕΛΑΤΗΣ', "ΣΥΜΦΩΝΙΑ" και "ΗΜΕΡΟΜΗΝΙΑ". Τα πρώτα τρία πεδία θα ήθελα να συμπληρώνονται από την τιμή των αντίστοιχων πεδίων της φόρμας, ενώ το πεδίο "ΗΜΕΡΟΝΗΝΙΑ" να παίρνει την τιμή της συνάρτησης Date().

Δυστυχώς δεν μπορώ να γράψω σωστά το ερώτημα Update σε vba.

Μπορείτε να με βοηθήσετε;
Συνημμένα Αρχεία
Τύπος Αρχείου: zip EXAMPLE.zip (95,5 KB, 5 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 08-07-20, 16:45
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 52
Προεπιλογή

Έχω κάνει λάθος στον τίτλο του θέματός μου. Δε θέλω ερώτημα Update, αλλά ερώτημα προσάρτησης.

Το πεδίο ΑΥΞΩΝ δε χρειάζεται να προσθέσω στο ερώτημα καθώς είναι τύπου αυτόματης αρίθμησης.

Έτσι έφτιαξα το παρακάτω ερώτημα

INSERT INTO ΠΡΟΠΟΝΗΣΕΙΣ ( ΠΕΛΑΤΗΣ, ΣΥΜΦΩΝΙΑ, ΗΜΕΡΟΜΗΝΙΑ )
SELECT [Forms].[ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ].[ΠΕΛΑΤΗΣ] AS Eκφρ1, [Forms].[ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ].[ΣΥΜΦΩΝΙΑ] AS Eκφρ2, Date() AS Eκφρ3;

και το πρόσθεσα σε Μακροεντολή τύπου "άνοιγμα ερωτήματος". Το ίδιο έκανα με Μακροεντολή τύπου "Εκτέλεση κώδικα Sql". Δοκίμασα τις μακροεντολές στο κλικ του κουμπιού, αλλά δε συμβαίνει κάτι.

Η επόμενη σκέψη μου είναι ο κώδικας σε VBA, αλλά οι γνώσεις μου είναι περιορισμένες.
Απάντηση με παράθεση
  #3  
Παλιά 08-07-20, 17:42
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 237
Προεπιλογή

Καλησπέρα Σάκη,

Δες μια πρόταση,

Ευχαριστώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb EXAMPLE.mdb (400,0 KB, 14 εμφανίσεις)
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #4  
Παλιά 08-07-20, 18:09
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 52
Προεπιλογή

Γιώργο, κατ' αρχάς σ' ευχαριστώ πολύ για την ανταπόκριση.
Το πεδίο ΗΜΕΡΟΜΗΝΙΑ στον πίνακα ΠΡΟΠΟΝΗΣΕΙΣ απατείται.
Οπότε δοκίμασα τον παρακάτω κώδικα, αλλά δε συμβαίνει κάτι.

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO [ΠΡΟΠΟΝΗΣΕΙΣ] ([ΠΕΛΑΤΗΣ],[ΣΥΜΦΩΝΙΑ], [ΗΜΕΡΟΜΗΝΙΑ]) VALUES ('" & Me.ΚΩΔ_ΠΕΛ & "','" & Me.ΣΥΜΦΩΝΙΑ& "', Date())"
DoCmd.SetWarnings True

Επίσης, εγώ είχα δοκιμάσει και τον παρακάτω κι επίσης δε συμβαίνει κάτι.
Dim StrSQL As String
StrSQL = "INSERT INTO ΠΡΟΠΟΝΗΣΕΙΣ ( ΠΕΛΑΤΗΣ, ΣΥΜΦΩΝΙΑ, ΗΜΕΡΟΜΗΝΙΑ)" & _
"SELECT [Forms].[ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ].[ΚΩΔ_ΠΕΛ] AS Eκφρ1, [Forms].[ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ].[ΣΥΜΦΩΝΙΑ] AS Eκφρ2, Date() AS Eκφρ3;"
DoCmd.RunSQL StrSQL
Απάντηση με παράθεση
  #5  
Παλιά 08-07-20, 20:45
Όνομα: ΠΑΝΑΓΙΩΤΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 05-07-2020
Περιοχή: ΚΙΛΚΙΣ ΝΕΑ ΣΑΝΤΑ
Μηνύματα: 9
Προεπιλογή

δοκιμασε αυτη την βάση
Απάντηση με παράθεση
  #6  
Παλιά 08-07-20, 20:47
Όνομα: ΠΑΝΑΓΙΩΤΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 05-07-2020
Περιοχή: ΚΙΛΚΙΣ ΝΕΑ ΣΑΝΤΑ
Μηνύματα: 9
Προεπιλογή

δοκιμασε αυτη την βαση
μπορω να σου την κανω και καλυτερη αν θες ...πιστευω σε καλυπτει... εχω βαλει και αυτοματη μορφοποιηση οταν οι προπονησεις που απομένου ειναι 1 και άλλη οταν ειναι 0... απλα ισως χρειαστεις office 10-13
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Βάση δεδομένων4.zip (50,7 KB, 13 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 08-07-20, 20:49
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 237
Προεπιλογή

Καλησπέρα Σάκη,

Στον ΠΡΟΠΟΝΗΣΕΙΣ τα πεδία που πρέπει να εισάγεις τιμές είναι το πεδίο [ΠΕΛΑΤΗΣ] και το πεδίο [ΣΥΜΦΩΝΙΑ]. Το πεδίο [ΑΥΞΩΝ] είναι ορισμένο στην βάση με τύπο δεδομένων «Αυτόματη Αρίθμηση» και το πεδίο [ΗΜΕΡΟΜΗΝΙΑ] είναι ορισμένο να παίρνει αυτόματα την ημερομηνία που δημιουργείτε η εκάστοτε εγγραφή.

Αν πρόσθεσες στο δικό σου αρχείο τον κώδικα που πρόσθεσα εγώ, παρατήρησε ότι δεν εκτελείται η ρουτίνα «Private Sub ΕΙΣΟΔΟΣ ΠΕΛΑΤΗ _Click».
Για το λόγο αυτό πρέπει να διαγράψεις το κουμπί ΕΙΣΟΔΟΣ ΠΕΛΑΤΗ από την φόρμα σου και να προσθέσεις ένα νέο κουμπί και στο συμβάν «Με το κλικ» να προσθέσεις τον κώδικα:

DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO [ΠΡΟΠΟΝΗΣΕΙΣ] ([ΠΕΛΑΤΗΣ],[ΣΥΜΦΩΝΙΑ]) VALUES ('" & Me.ΚΩΔ_ΠΕΛ & "','" & Me.ΣΥΜΦΩΝΙΑ & "')"
DoCmd.SetWarnings True

Ακόμα στο «Form_Load» της φόρμας «ΕΛΕΓΧΟΣ_ΔΙΑΘΕΣΙΜΟΤΗΤΑΣ» πρόσεξε γιατί έχεις μια εντολή «Me.ΕΙΣΟΔΟΣ_ΠΕΛΑΤΗ.Visible = True» θα πρέπει να την αλλάξει με το όνομα του νέου κουμπιού.

Καλό θα ήταν τα ονόματα των πεδίων των πινάκων και τα ονόματα των αντικειμένων (φόρμες, πεδία στις φόρμες, ερωτήματα κ.λ.π) να είναι με λατινικούς χαρακτήρες.

Ευχαριστώ.
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #8  
Παλιά 09-07-20, 09:30
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 52
Προεπιλογή

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

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

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Εκτέλεση κώδικα Update sakis297 Visual Basic for Applications (VBA) 0 07-07-20 13:19
Πάτημα κουμπιού και πληκτρολόγηση "," Χρήστος Access - Ερωτήσεις / Απαντήσεις 4 29-11-13 01:32
πάτημα κουμπιού και εμφάνιση μηνυμάτων Χρήστος Access - Ερωτήσεις / Απαντήσεις 7 28-11-13 02:32
[VBA] Δημιουργία κουμπιού για εκτέλεση συνάρτησης choulio19 Excel - Ερωτήσεις / Απαντήσεις 9 09-05-12 19:37
Κώδικας ερωτήματος update σε VBA sakis297 Access - Ερωτήσεις / Απαντήσεις 11 13-02-12 19:42


Η ώρα είναι 10:49.