Ανανέωση ιστοσελίδας

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 13-04-18, 15:21
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή Dlookup error

Καλησπέρα στην κοινότητα με τις πολύτιμες γνώσεις.

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

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

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

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

Ευχαριστώ εκ των προτέρων και ελπίζω ότι είναι κάτι απλό που ίσως παραβλέπω εγώ.
Συνημένες Εικόνες
Τύπος Αρχείου: png Visual Basic error.png (4,5 KB, 14 εμφανίσεις)
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Database test.zip (67,9 KB, 4 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 13-04-18, 18:18
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα, Χριστός Ανέστη...
Υπάρχουν λάθη : Στο σύνθετο κριτήριο που δουλεύει η dlookup πρέπει πριν το AND να βάλεις ένα κενό, ώστε να μη κολλάνε τα κριτήρια.
Το πρώτο κριτήριο της dlookup κατά την διαδικασία νέας εισαγωγής είναι Null,οπότε καλά κάνει και κλωτσάει. Αυτό διορθώνεται ας πούμε με την
Κώδικας:
If Me.NewRecord Then...
.
Δεν έχεις καλά δεδομένα, π.χ. το [service lookup] εκεί στο πίνακα έχει τιμή 13 και τίποτε άλλο, όποτε οι εντολές σου γεμίζουν null και παίρνεις τα μηνύματα που μας εμφάνισες.
Πρόσεχε να υπάρχουν δεδομένα όταν ζητάς η dlookup να εκτελεστεί. Πιστεύω ότι ο,τι τα παθήματά σου οφείλονται στα δεδομένα σου.

Ελπίζω να βοήθησα λίγο. / Με εκτίμηση / Νίκος
Απάντηση με παράθεση
  #3  
Παλιά 13-04-18, 19:31
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή

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

Τελευταία επεξεργασία από το χρήστη myly1400 : 13-04-18 στις 19:55.
Απάντηση με παράθεση
  #4  
Παλιά 13-04-18, 19:35
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Στη συνάρτηση Private Sub hotel_AfterUpdate() ζητάς να ενημερώσεις , αλλά το ένα από τα δυο κριτήρια της dlookup διαβάζει null.
Απάντηση με παράθεση
  #5  
Παλιά 13-04-18, 20:22
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή

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

Ευχαριστώ πάντως Νίκο για το ενδιαφέρον σου
Απάντηση με παράθεση
  #6  
Παλιά 13-04-18, 21:06
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

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

Κώδικας:
If Me.NewRecord Then
  βάλε την dllokup με ένα κριτήριο
else
 βάλε την dllokup με τα δυο κριτήρια
end if
Τα δεδομένα σου να δεις ! Έλεγξε το ερώτημά σου αν κάνει αυτό που θες. ...και μη βιάζεσαι.
Απάντηση με παράθεση
  #7  
Παλιά 13-04-18, 21:42
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή

Τα έβαλα όπως μου είπες και το δοκίμασα με δεδομένα που να υπάρχουν στο ερώτημα. Δυστυχώς επιμένει το error.
Απάντηση με παράθεση
  #8  
Παλιά 15-04-18, 19:47
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

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

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

Με εκτίμηση - Νίκος
Απάντηση με παράθεση
  #9  
Παλιά 19-04-18, 16:46
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή DLOOKUP Error

Συγνώμη για την καθυστερημένη απάντηση. το ανεβάζω ξανά (έχω κάνει επιδιόρθωση και συμπύκνωση). Ελπίζω να βρεθεί το πρόβλημα.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Database test.zip (67,6 KB, 2 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 19-04-18, 17:32
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 11-05-2011
Μηνύματα: 20
Προεπιλογή Dlookup Error (Το Σωστό Αρχείο)

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

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

Και πάλι ευχαριστώ για το ενδιαφέρον.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Database test.zip (78,1 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Συνδυασμός IIf με dLookUp q.mrk Access - Ερωτήσεις / Απαντήσεις 3 26-06-20 13:33
Βοήθεια για dlookup q.mrk Access - Ερωτήσεις / Απαντήσεις 11 24-01-17 20:42
dlookup με κριτήριο row th3_b3st Access - Ερωτήσεις / Απαντήσεις 3 07-11-16 11:14
[ Ερωτήματα ] Ερώτημα DLookup anestaki Access - Ερωτήσεις / Απαντήσεις 9 15-03-15 19:52
[ Φόρμες ] dlookup σε υποφόρμα gianast Access - Ερωτήσεις / Απαντήσεις 7 12-10-12 06:24


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