Εύρεση Πρωτοκόλλου και μήνυμα "υπάρχει ήδη" Καλησπερα στο forum Θα ήθελα αν μπορεί να με βοηθήσει κάποιος στο εξής: Εχω μία οθόνη με διαφορα πεδία με βασικό κλειδί τον αρθμό πρωτοκόλλου επειδή οι χρήστες δεν κανουν εύρεση πρωτοκόλλου αν υπάρχει πρώτα με το κουμπί που τους εχω φτιαξει θα ήθελα αν γίνεται μόλις πληκτορλογούν τον αριθμό πρωτοκόλλου να τους βγάζει ένα μηνυμα "ΥΠΑΡΧΕΙ ΗΔΗ" ..... αν υπάρχει οντως.....αλλιως να συνεχισουν την εισαγωγή των στοιχείων...... Σας ευχαριστω εκ των προτέρων Δάφνη Μ. |
καλό μεσημέρι στο forum. Δάφνη, στο πεδίο που θέλεις, πήγαινε στο συμβάν BeforeUpdate χρησιμοποίησε την function DLookup(), αν δε τα καταφέρεις ανέβασε μια test database να βοηθήσουμε καλύτερα. |
Καλημερα στο forum :) Σχετικά με την προηγούμενη ερώτηση σκέφτηκα ότι θα ήταν καλύτερα να είχα μια φόρμα με την εύερση μόνο του πρωτοκόλλου με 2 επιλογές : 1. Εαν το βρέι να λεει "υπάρχει ήδη" και να φέρνει την καρτέλα με τα στοιχέια που έχουν σχέση με το πρωτόλλο 2. Εαν δεν το βρει να φέρνει την καρτέλα σε κατασταση εισαγωγής νεου ρεκορντ .... Οπότε πρπει να φτιάξω μια ευρεση στο πεδίο πρωτοκολλο και να μου φερνει το ρεκορντ ενα ειναι ήδη περασμένο αλλιως να μου κανει add record ......... Eάν μπορει να με βοηθήσει καποιος σ αυτο θα ημουν υπόχρεη :) Ευχαριστω πολυ Κωστα για την βοήθεια σου Ευχαριστω εκ των προτερων για την βοηθεια σας σ αυτο το προβλημα μου :) Δαφνη Μ. |
1 Συνημμένο(α) Καλημέρα! Δάφνη, στο συνημμένο παράδειγμα χρησιμοποιείται η μέθοδος αναζήτησης εγγραφής από σύνθετο πλαίσιο. Εάν το νούμερο που πληκτρολογείται υπάρχει ήδη, η εγγραφή θα εμφανιστεί στη φόρμα. Αν δεν υπάρχει, θα δημιουργηθεί νέα εγγραφή με βάση το πληκτρολογημένο νούμερο. Στο παράδειγμα αυτό χρησιμοποιείται το πεδίο "CustomerID" στη θέση του τον αριθμού πρωτοκόλλου του ζητούμενου σου και έχει τη μορφή "Αριθμός". Θα χρειαστεί να τροποποιηθεί αν το βασικό κλειδί τον αρθμό πρωτοκόλλου είναι κείμενο. Καλή συνέχεια! Με εκτίμηση Τάσος |
Καλημερα σας :) Σ ευχαριστω παρα πολυ Τασο για τη βοήθεια , ειναι αυτο που θελω , θα το δοκιμασω και θα σας πω ....... Ευχαριστω και παλι :) με εκτιμηση Δαφνη Μ. |
Καλησπερα στο forum :) Τασο συγγνωμη που σε ζαλιζω αλλα μου χτυπαει στο : rs.FindFirst "[ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ] = " & Str(Nz(Me!cboProtokolo, 0)) υποθετω οτι χτυπαει επειδη ο αριθμος πρωτοκολλου ειναι text Private Sub cboProtokolo_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ] = " & StrcboProtokolo If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub Private Sub cboProtokolo_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue Me.cboProtokolo.Undo DoCmd.GoToRecord acDataForm, Me.Name, acNewRec Me.ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ = NewData Me.ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ = Null Me.ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ.SetFocus End Sub Eυχαριστώ Δαφνη |
Γεια σου Δάφνη, επειδή έχω φτιάξει μια παρόμοια εφαρμογή με πολύ βοήθεια από το παρόν site. Βασικά νομίζω πώς είσαι λάθος στην εισαγωγή του Πρωτοκόλλου, έπρεπε να παίρνει μόνο του τον αριθμό με ημερομηνία και ώρα από αυτόματη αρίθμηση την στιγμή που πατάς ένα πλήκτρο New, και δεν θα βάζεις εσύ νούμερο. Εγώ έβαλα τον παρακάτω κώδικα στα εισερχόμενα και στο πρωτόκολλο εκδότη επειδή υπάρχει περίπτωση να εισάγω το ίδιο 2 φορές για αυτό με το που εισάγω το νούμερο του εκδότη και πάω σε άλλο πλαίσιο μου βγάζει μήνυμα, και διορθώνω η ακυρώνω. Private Sub ProtokolloEkdoti_LostFocus() If DCount("*", "[P_EGGRAFA]", "[ProtokolloEkdoti]='" & Me![ProtokolloEkdoti].Text & "'") > 1 Then Cancel = True MsgBox "Εδώ γράφεις το μήνυμα σου" Me![ProtokolloEkdoti].Undo End If End Sub |
Καλησπερα σας :) Χρήστο σ ευχαριστω για την βοηθεια σου , θα το δοκιμασω την υποδειξη σου :) το πρωτοκολλο με την ημερομηνια δεν τα δινω εγω διοτι ειναι ήδη δοσμενα απο αλλη υπηρεσια σε παρελθοντα χρονο ................ Ευχαριστω και παλι για την βοηθεια :) με εκτιμηση Δαφνη Μ. |
Παράθεση:
Καλημερα στο forum :) Κώστα στο πεδίο ΠΡΩΤΟΚΟΛΛΟ το οποιο ειναι κειμενο : 100/01/08/12 στο συμβαν before update προσπαθησα να χρησιμοποιήσω την function DLookup() αλλα μου χτυπαει...... Private Sub ΠΡΩΤΟΚΟΛΛΟ_BeforeUpdate(Cancel As Integer) =DLookUp("[ΠΡΩΤΟΚΟΛΛΟ]","main_tbl", "[ΠΡΩΤΟΚΟΛΛΟ] = " & forms!MAIN_TBL![ΠΡΩΤΟΚΟΛΛΟ]) End Sub Αν εχεις καθολου χρονο εχω κανει μια τεστ βαση να δεις τι εχω κανει λαθος...... Ευχαριστω πολυ με εκτιμηση Δαφνη |
Καλημέρα! Δάφνη, στο παράδειγμα υπάρχει ένας πίνακας με πρωτεύον κλειδί (ID) και με αυτόματη αρίθμηση. Το πεδίο αυτό είναι και η πρώτη (κρυφή + δεσμευμένη) στήλη του σύνθετου πλαισίου. Πάνω σε αυτό το πεδίο βασίζεται η αναζήτηση. Αν ο πίνακας σου δεν έχει τέτοιο πεδίο αυτόματης αρίθμησης τότε φρόντισε: η πρώτη στήλη του πλαισίου κειμένου να παίρνει δεδομένα απ΄ το πεδίο ID (ή όπως αυτό ονομάζεται) και η δεύτερη στήλη να παίρνει δεδομένα από το πεδίο [ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ]. Στην περίπτωση αυτή δεν θα χρειαστεί τροποποίηση στον κώδικα. Διαφορετικά περίγραψε μας τη δομή του πίνακα σου για να σε βοηθήσουμε. Με εκτίμηση Τάσος |
Η ώρα είναι 08:15. |
Ms-Office.gr - ©2000 - 2024, Jelsoft Enterprises Ltd.