Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Μήνυμα Access σε ερώτημα προσάρτησης (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1410-minyma-access-se-erotima-prosartisis.html)

cgian 02-10-11 23:24

Μήνυμα Access σε ερώτημα προσάρτησης
 
1 Συνημμένο(α)
Καλησπέρα.
Το ερώτημα μου έχει να κάνει με μηνύματα της access κατα την εκτέλεση ερωτήματος προσάρτησης. Εκτελώντας ένα ερώτημα προσάρτησης πατώντας το αναλογο κουμπί και έχοντας ορίσει στον πίνακα που γίνεται η προσάρτηση περισσότερα απο ένα κλειδιά ώστε να αποκλείω διπλοεγγραφές παρουσιάζεται το μήνυμα που φαίνεται και στο συνημμένο αρχείο.Το ερώτημα είναι μπορώ να αλλάξω το κείμενο του μηνύματος, να επέμβω δλδ στο μήνυμα της access να δώσω ενα δικό μου κείμενο καθως πχ. "Οι συντελεστες έχουν ήδη αποθηκευτεί .Επιλέξτε όχι".
Ευχαριστώ.

kapetang 03-10-11 09:43

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

Private Sub cmdApped_Click()
    Dim RecCount As Long
    RecCount = DCount("*", "Table1")
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "qryApped"
    If DCount("*", "Table1") > RecCount Then
        MsgBox "Οι συντελεστές αποθηκεύτηκαν."
    Else
        MsgBox "Οι συντελεστές ήταν ήδη αποθηκευμένοι."
    End If
    DoCmd.SetWarnings True
End Sub

Φυσικά θα πρέπει να αντικαταστήσεις το όνομα του κουμπιού (cmdApped) του πίνακα (Table1) και του ερωτήματος (qryApped) με τα πραγματικά.

Φιλικά/Γιώργος

cgian 03-10-11 11:13

Καλημερα Γιώργο.
Ευχαριστώ για τη λύση που προτείνεις.Δουλεύει άψογα.Παρόλα αυτά, θα ήθελα ειδικα για ένα πίνακα συντελεστων, να διατηρώ την επιλογή "όχι" κατα την εκτέλεση του ερωτήματος στο μήνυμα της access ώστε να μη γίνεται προσάρτηση πεδίων .Δεν ξέρω αν είναι εφικτό να επέμβω στο μήνυμα της access.
Ευχαριστώ.

kapetang 03-10-11 12:05

Καλημέρα

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

Φιλικά/Γιώργος

cgian 03-10-11 18:27

Καλησπέρα και πάλι.
Θα ήθελα τη βοήθεια σας για την σύνταξη του παρακάτω κώδικα:

Private Sub Εντολή47_Click()

MsgBox "...............", vbYesNo
If vbYes Then
DoCmd.OpenQuery "qryΠΡΟΣΑΡΤΗΣΗ_ΣΥΝΤΕΛΕΣΤΩ "
Else
End If
End Sub

Κάποιο λαθος πρέπει να υπαρχει γιατι πατώντας ειτε yes ειτε no εκτελείται το ερώτημα.

Meteora 03-10-11 19:40

Καλησπέρα Χριστόφορε

Δοκίμασε αυτό:

dim rep$
rep=MsgBox( "μήνυμα", vbYesNo, "ΕΛΕΓΧΟΣ")
if rep=vbYes Then
Κάνε το Α
Else
Κάνε το Β
End If

Με εκτίμηση

Νίκος Δ.

cgian 03-10-11 20:01

Καλησπέρα Νίκο.
Ευχαριστώ πολύ για τη βοήθεια.
Και κάτι τελευταίο.Εφόσον εκτελεστεί το προηγούμενο sub και πατήσω yes και είναι ήδη αποθηκευμένα τα δεδομένα μου βγάζει το μήνυμα που έχω αποστείλει στο πρώτο post.Εκεί επιλέγοντας "όχι" μου βγάζει το μήνυμα "Run time error '3059'.Η λειτουργία ακυρώθηκε απο το χρήστη" και τις επιλογές END , DEBUG και HELP.Πως μπορώ να κανω να μην εμφανίζεται το τελευταίο μήνυμα;
Ευχαριστώ.

kapetang 03-10-11 20:17

Καλησπέρα

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

    If MsgBox("Να αποθηκευτούν οι συντελεστές;", vbYesNo) = vbYes Then
        'εδώ θα τοποθετηθούν όλες οι εντολές
    End If

πιστεύω ότι το πρόβλημα θα λυθεί.
Πάντως είναι αντιφατικό στην αρχή να επιλέγεις «Ναι» και μετά «Όχι».

Φιλικά/Γιώργος

cgian 03-10-11 20:39

Καλησπέρα
Γιώργο και Νίκο ευχαριστώ πολύ για την πολύτιμη βοήθειά σας.
Χίλια ευχαριστώ και πάλι.


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2