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/666-amesi-enimerosi-access.html)

alatis 16-07-10 19:09

Αμεση ενημέρωση Access
 
1 Συνημμένο(α)
Καλησπερα σε ολο το forum
Ειμαι νεος και χρειάζομαι την πολύτιμη βοηθεια σας.
Σας στελνω και ενα συνημμένο για να έχετε ενα παραδειγμα
Αυτο που θέλω ειναι να ανοιγω εναν πελατη και οταν παω στην απυ (αποδ.παρο.υπηρ) να μου ερχεται το ονομα που εχω στην καρτελα του πελατη και το ιδιο να συμβαίνει οταν παω στην αλπ (αποδ.λιαν.πωλησης)
Ελπίζω να έγινα κατανοητός
Δεν ξέρω τις δυνατότητες της access ελπίζω να είναι εφικτό αυτο που ζηταω.
Ευχαριστω εκ των προτερων
Φιλικα
Γιώργος

Tasos 17-07-10 10:43

Γιώργο καλημέρα και καλωσόρισες στο φόρουμ!
Οι φόρμες ή οι εκθέσεις της Access έχουν την ιδιότητα OpenArgs
Θα σου πρότεινα να ρίξεις μια ματιά στις λεπτομέρειες της ιδιοτητας αυτής κάνοντας αναζήτηση στη βοήθεια τη Access
χρησιμοποιώντας τη λέξη –κλειδί: OpenArgs

ή πατώντας τον παρακάτω σύνδεσμο: Ιδιότητα OpenArgs - Access - Microsoft Office

Στην περίπτωσή σου, θα μπορούσες να χρησιμοποιήσεις την ιδιότητα αυτή κι έτσι να περάσεις το
ονοματεπώνυμο στην νέα φόρμα (πχ. στην frm_alp ακολουθώντας την παρακάτω διαδικασία:
Στη φόρμα frm_pelatis και στο κουμπί Εντολή1 με τη λεζάντα alp, έχεις ήδη αντιστοιχήσει στο συμβάν κλικ
μια Ενσωματωμένη μακροεντολή με τη βοήθεια του οδηγού κουμπιών επιλογής,
που όμως δεν παρέχει τη δυνατότητα χρήσης της ιδιότητας OpenArgs!

Θα πρέπει λοιπόν, στο φύλλο ιδιοτήτων του κουμπιού αυτού στο συμβάν κλικ, να πατήσεις
την πτυσσόμενη λίστα και να επιλέξεις: [Διαδικασία συμβάντος].

Κατόπιν, πάτησε το κουμπί δίπλα από το βελάκι της πτυσσόμενης λίστας
για να εισέλθεις στον VBE όπου θα συναντήσεις το παρακάτω:

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

End Sub


Ανάμεσα στις δύο αυτές γραμμές πέρασε το παρακάτω:

DoCmd.OpenForm "frm_alp", acNormal, , , , acDialog, Nz(Me.onomateponimo, vbNullString)

όπου:
"frm_alp" = το όνομα της φόρμας που θέλεις να ανοίξεις
και Nz(Me.onomateponimo, vbNullString) είναι η τιμή του ορίσματος OpenArgs (εξηγείται παρακάτω).
ο παραπάνω κώδικας ανοίγει τη φόρμα frm_alp και όρισμα OpenArgs, της δίνει την τιμή του πεδίου "onomateponimo".

Πάμε τώρα στη φόρμα frm_alp και στο φύλλο ιδιοτήτων > Συμβάν > με τη φόρτωση
επιλέγεις [Διαδικασία συμβάντος], πατάς το κουμπί δίπλα από το βελάκι της πτυσσόμενης λίστας
για να εισέλθεις στον VBE όπου θα συναντήσεις το παρακάτω:

Private Sub Form_Load()

End Sub


Θα πρέπει να διαμορφωθεί όπως φαίνεται παρακάτω:

Κώδικας:

Private Sub Form_Load()
      If Nz(Me.OpenArgs, vbNullString) <> vbNullString Then
          Me.onomateponimo = Me.OpenArgs
      End If
  End Sub

Αποθήκευσε και δοκίμασε.

Καλή συνέχεια!
Φιλικά
Τάσος

alatis 17-07-10 11:45

1 Συνημμένο(α)
Καλημέρα Τάσο και σε όλη την παρέα
Η ανταπόκρισή σου ηταν άμεση και σε ευχαριστώ πολύ για αυτό
Τις πέρασα τις εντολες οπως μου ειπες και λειτουγουν άψογα μονο που κατι δεν εχω κανω σωστα γιατι οταν ειμαι στον πινακα δεν λειτουργουν τα κουμπια όπως και οταν απο την φορμα του πελατη διαλεξω πχ την apy και απο εκεί παώ στο κουμπι alp παλι δεν λειτουργουν
Ευχαριστω και παλι
Γιώργος

Tasos 17-07-10 12:13

Γιώρο, τη γραμμή:
DoCmd.OpenForm "όνομα της φόρμας ", acNormal, , , , acDialog, Nz(τιμή που θα μεταφερθεί στη φόρμα που θα ανοιχτεί, vbNullString)

Θα πρέπει να μπει στο συμβάν κλικ του κάθε κουμπιού που θα ανοίγει κάποια φόρμα.

Επίσης αν δεν δώσεις μια τιμή στο όρισμα OpenArgs πχ.την τιμή ενός πεδίου της φόρμας δεν πρόκειται να συμβεί κάτι.

Η φόρμα pinakas δηλαδή, θα πρέπει να περιέχει ένα μη κενό πεδίο που θα το τοποθετήσεις στο τελευταίο όρισμα στον παραπάνω κώδικα.
Κάθε φόρμα που ανοίγει με τη χρήση του παραπάνω κώδικα θα πρέπει μέσα από το συμβάν OnLoad() να ελέγχει αν υπάρχει κάποια τιμή στην ιδιότητα OpenArgs για να τη αποθηκεύσει σε κάποιο πεδίο ή γενικά να κάνει κάτι μ αυτή την πληροφορία.
Τα λέμε πάλι
Τάσος

alatis 18-07-10 10:44

Καλημέρα σε όλους σας
Τάσο ευχαριστω για ολα είσαι παρα πολυ κατανοητος και αμεσος
Ευχαριστω και παλι
Φιλικα Γιωργος

alatis 27-07-10 23:25

καλησπέρα σας.
επανέρχομαι το ιδιο θέμα γιατί παρατήρησα ενα πρόβλημα.
οταν μετακινούμε μεταξύ pelati, apy alp μου αλλάξει το όνομα όπως θέλω αλλά τα άλλα στοιχεία (πχ σχόλια) μου τα αφήνει ίδια. Θέλω αν γίνεται φυσικά να μου κρατάει το όνομα ίδιο παντού αλλά τα άλλα στοιχεία να είναι σε νεα εγγραφή. Πχ αν μου έρθει ο πελάτης test και παω να του κόψω μια νεα apy να μου φέρνει το όνομα του αυτόματα αλλά να μου επιτρέπει να κόβω νέα apy και να μην διαβάζει μια παλιότερη που πιθανόν να του έχω εκδώσει.
ευχαριστω και παλί
Καλό βράδυ
Γιώργος

alatis 27-07-10 23:45

1 Συνημμένο(α)
ξέχασα να σας στείλω το συνημμένο για να καταλάβετε τι εννοώ
ευχαριστώ και πάλι
καλό βράδυ


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

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


Search Engine Optimization by vBSEO 3.3.2