Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Dlookup error (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4877-dlookup-error.html)

myly1400 13-04-18 15:21

Dlookup error
 
2 Συνημμένο(α)
Καλησπέρα στην κοινότητα με τις πολύτιμες γνώσεις.

Αυτή είναι η δεύτερη φορά που ασχολούμαι με τη συνάρτηση Dlookup σε φόρμα (μέσα από κώδικα σε vba) για να αναζητώ την κατάλληλη τιμή σε πεδίο μέσα από ένα ερώτημα με βάση 2 κριτήρια.

Για την ακρίβεια έχω τα πεδία "hotel" και "service", τα οποία πρέπει να συμφωνούν ως κριτήρια για την ανεύρεση των πεδίων "pickup" και "time" μέσα από το ερώτημα "que_Hotels-pickup-services-time". Έκανα χρήση της Dlookup στα πεδία των κριτηρίων. Δουλεύει, βρίσκει τις κατάλληλες τιμές (το έχω ξανακάνει με τη βοήθειά σας για πεδίο τιμής string ενώ τώρα είναι αριθμός και ώρα) αλλά με το που επιλέγω σε μια καινούρια εγγραφή το ένα από τα δύο κριτήρια (ας πούμε το "hotel" που είναι πρώτο) μου πετάει μήνυμα Run time error 3075 (ότι λείπει το δεύτερο κριτήριο). Πατάω END και αφού επιλέξω το 2ο κριτήριο ("service") εμφανίζονται τα επιθυμητά αποτελέσματα στα πεδία "pickup" & "time".

Όπως βλέπω και ξαναβλέπω και σε σχέση με τον κώδικα που έχω ξαναγράψει δεν βλέπω κάποιο συντακτικό λάθος.

Για το παραπάνω πρόβλημα επισυνάπτω τεστ της βάσης και το μήνυμα λάθους που μου εμφανίζει.

Ευχαριστώ εκ των προτέρων και ελπίζω ότι είναι κάτι απλό που ίσως παραβλέπω εγώ.

Meteora 13-04-18 18:18

Καλησπέρα, Χριστός Ανέστη...
Υπάρχουν λάθη : Στο σύνθετο κριτήριο που δουλεύει η dlookup πρέπει πριν το AND να βάλεις ένα κενό, ώστε να μη κολλάνε τα κριτήρια.
Το πρώτο κριτήριο της dlookup κατά την διαδικασία νέας εισαγωγής είναι Null,οπότε καλά κάνει και κλωτσάει. Αυτό διορθώνεται ας πούμε με την
Κώδικας:

If Me.NewRecord Then...
.
Δεν έχεις καλά δεδομένα, π.χ. το [service lookup] εκεί στο πίνακα έχει τιμή 13 και τίποτε άλλο, όποτε οι εντολές σου γεμίζουν null και παίρνεις τα μηνύματα που μας εμφάνισες.
Πρόσεχε να υπάρχουν δεδομένα όταν ζητάς η dlookup να εκτελεστεί. Πιστεύω ότι ο,τι τα παθήματά σου οφείλονται στα δεδομένα σου.

Ελπίζω να βοήθησα λίγο. / Με εκτίμηση / Νίκος

myly1400 13-04-18 19:31

Καλησπέρα Νίκο, Αληθώς Ανέστη! Ευχαριστώ πολύ για την γρήγορη ανταπόκριση σου.
Θα διορθώσω το κενό που λες, και θα προσπαθήσω να προσθέσω και τον κώδικα που προτείνεις, αν και δεν είμαι και πολύ σίγουρος με αυτό.

Meteora 13-04-18 19:35

Στη συνάρτηση Private Sub hotel_AfterUpdate() ζητάς να ενημερώσεις , αλλά το ένα από τα δυο κριτήρια της dlookup διαβάζει null.

myly1400 13-04-18 20:22

Προς το παρόν για να αποφύγω το λάθος στον κώδικα δημιούργησα μία εγγραφή service (την 1η) με την ονομασία "select service" και την έκανα προεπιλεγμένη τιμή στον πίνακα sellings, οπότε έπαψε να κλαίει για null τιμή (αφού βρίσκει την 1 εγγραφή που προτρέπει να επιλέξεις service). Ναι ξέρω, μπακαλίστικο αλλά δουλεύει! Αν μπορεί κάποιος να βοηθήσει πιο συγκεκριμένα θα του είμαι ευγνώμον

Ευχαριστώ πάντως Νίκο για το ενδιαφέρον σου

Meteora 13-04-18 21:06

Στη συνάρτηση Private Sub hotel_AfterUpdate() κάνε κάτι σαν αυτό :

Κώδικας:

If Me.NewRecord Then
  βάλε την dllokup με ένα κριτήριο
else
 βάλε την dllokup με τα δυο κριτήρια
end if

Τα δεδομένα σου να δεις ! Έλεγξε το ερώτημά σου αν κάνει αυτό που θες. ...και μη βιάζεσαι.

myly1400 13-04-18 21:42

Τα έβαλα όπως μου είπες και το δοκίμασα με δεδομένα που να υπάρχουν στο ερώτημα. Δυστυχώς επιμένει το error.

Meteora 15-04-18 19:47

Καλησπέρα...
Αν μπορείς ανέβασε ξανά την εργασία σου, αφού πρώτα κάνεις "Διαχείριση" μετά "Συμπύκνωση και επιδιόρθωση βάσης δεδομένων" στη συνέχεια zip , για να δούμε το πρόβλημα.

Τα λέμε λοιπόν...

Με εκτίμηση - Νίκος

myly1400 19-04-18 16:46

DLOOKUP Error
 
1 Συνημμένο(α)
Συγνώμη για την καθυστερημένη απάντηση. το ανεβάζω ξανά (έχω κάνει επιδιόρθωση και συμπύκνωση). Ελπίζω να βρεθεί το πρόβλημα.

myly1400 19-04-18 17:32

Dlookup Error (Το Σωστό Αρχείο)
 
1 Συνημμένο(α)
Διαχειρίστηκα τις εγγραφές των service και των pickups ώστε να μην υπάρχουν εγγραφές χωρίς ανταπόκριση στον τελικό πίνακα αναζήτησης της συνάρτησης (αν και δεν ισχύει αυτό γιατί το έχω ξανά δουλέψει και όταν δεν βρίσκει κάτι απλώς δεν εμφανίζει τίποτα - τότε το πεδίο ήταν κειμένου και όχι αριθμός). Και τώρα που το δοκιμάζω με τα δεδομένα αυτά πάλι το ίδιο error μου εμφανίζει.

Αυτό είναι το σωστό αρχείο με τα δεδομένα και όχι στην προηγούμενη ανάρτηση.

Και πάλι ευχαριστώ για το ενδιαφέρον.

Meteora 19-04-18 18:01

1 Συνημμένο(α)
Καλησπέρα...
Δες τι δεν δουλεύει όπως θες. (Σε περίπτωση προβλήματος γράψε τι κάνεις για να αναπαράγουμε το σφάλμα)

Τα λέμε... / Νίκος

Υστερολόγιο : Δεν βλέπω τις διορθώσεις που σε είπα να κάνεις...

myly1400 20-04-18 22:57

Όντως δουλεύει άψογα χωρίς τα μπακαλίστικα select ... Δεν χτυπάει error. Είχα κάνει λάθος στην πρώτη γραμμή αναζήτησης (είχα βάλει το service αντί του hotel). Σε υπέρ ευχαριστώ!!!


Η ώρα είναι 04:14.

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


Search Engine Optimization by vBSEO 3.3.2