Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Dlookup προβλήματα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4085-dlookup-problimata.html)

mikekal1oo 04-03-16 13:40

Dlookup προβλήματα
 
Έχω κάνει μια βάση στην οποία έχω τα εξείς πεδία
-id
-Ημερομηνία
-Μέτρηση1
-Παραλαβή
-Μέτρηση2
-Λογιστικό υπόλοιπο
-Ένδειξη1
-Κατανάλωση
-Υπόλοιπο (βγαίνει με την αφαίρεση ...Λογύπόλοιπο-Κατανάλωση)

Θέλω ότανπάω σε νέα εγγραφή να μεταφέρετε το υπόλοιπο της προηγούμενης ημέρας
στο πεδίο λογιστικό υπόλοιπο .Αν μπορείτε να μου πείτε μια λύση
Προσπαθώ με το Dlookup αλλά μάλλον κατι κάνω λάθος.Ευχαριστώ

kapetang 04-03-16 14:23

Καλησπέρα

Αν υποθέσουμε ότι τα πεδία ανήκουν στον πίνακα Table1, δοκίμασε τους κώδικες:

Κώδικας:

Private Sub Form_Current()
    If Me.NewRecord Then
        Me.[Λογιστικό υπόλοιπο] = DLookup("[Λογιστικό υπόλοιπο]", "Table1", "[Ημερομηνία]=Date()-1")
    End If
End Sub

Κώδικας:

Private Sub Form_Current()
    If Me.NewRecord Then
        Me.[Λογιστικό υπόλοιπο] = DLast("[Λογιστικό υπόλοιπο]", "Table1")
    End If
End Sub

Ο πρώτος επιστρέφει το λογιστικό υπόλοιπο της προηγούμενης (από την τρέχουσα ημερομηνία καταχώρησης) μέρας.

Ο δεύτερος το λογιστικό υπόλοιπο της τελευταίας καταχώρησης.

Ο κώδικας θα πρέπει να μπει στο συμβάν On Current της φόρμας.

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

mikekal1oo 04-03-16 21:34

Να είσαι καλά Γιώργο για την βοήθεια.Αλλά εγώ θέλω να εχω τηντιμή του πεδίου υπόλοιπο στο πεδίο Λογιστικό υπόλοιπο της νέας εγγραφής.Ίσως δεν μου το κάνει επειδή το υπόλοιπο βγαίνει απόαφαίρεση δύο πεδίων.Σεευχαριστώ πάλι

kapetang 04-03-16 22:01

Αφού υπάρχει το πεδίο [Υπόλοιπο], στον κώδικα μέσα στις συναρτήσεις DLookUp και DLast,, άλλαξε το [Λογιστικό υπόλοιπο] με το [Υπόλοιπο]

mikekal1oo 04-03-16 22:24

Γιώργο να βάλω και τις δύο συναρτήσεις μαζί ή μία από τις δύο.Αν εχεις χρόνο στείλε μου ένα απλό παράδειγμα.Σε ευχαριστώ και συγνώμη αν σε πιέζω

kapetang 05-03-16 09:06

Μιχάλη, μπορείς να δοκιμάσεις και τις δύο συναρτήσεις και να χρησιμοποιήσεις μόνο μία.
Αυτή που σ' εξυπηρετεί καλύτερα.

Αν ήθελες παράδειγμα, έπρεπε να επισυνάψεις, στο μήνυμά σου, σχετικό δείγμα της ΒΔ.

mikekal1oo 05-03-16 16:15

Άργησα να απαντήσω λόγο δουλειάς.Κάτι κατάφερα νομίζω .Έβαλα έναν από τους κώδικες που μουέδωσες και λειτουργείμια χαρά.Να είσαι καλά.Προχωράω και βλέπουμε.Ευχαριστώ

mikekal1oo 06-03-16 21:05

1 Συνημμένο(α)
Αυτή είναι η βάση μουστο περίπου.Θέλω να φιλτράρω με μήνα και χρόνο.Προσπαθώ με παραδείγματα από αλλού αλλα τίποτε.Αν μπορείς να μου δώσεις μια ιδέα.Να είσαι καλά

kapetang 07-03-16 10:36

1 Συνημμένο(α)
Καλημέρα

Μιχάλη, δες το συνημμένο.

Δεν ξέρω πως σκέφτηκες να συνδέσεις τις δευτερεύουσες φόρμες με την κύρια και μάλιστα με πεδία ασύμβατα (διαφορετικού τύπου).

Όταν φιλτράρουμε τις εγγραφές, αν δεν υπάρχουν εγγραφές που ικανοποιούν τα κριτήρια, γίνεται τρέχουσα η νέα εγγραφή.

Έτσι περνούν στην εγγραφή οι προεπιλεγμένες τιμές και όσες ορίζονται με τον κώδικα στο συμβάν On Current.

Αυτό μπερδεύει και οδηγεί στην προσθήκη ανεπιθύμητων εγγραφών.

Προσπάθησα να το αποτρέψω με τη μεταβλητή blnFilter.

Αν δε θέλεις αυτή τη συμπεριφορά, διέγραψε, στον κώδικα, ότι αναφέρεται στη μεταβλητή.

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

mikekal1oo 07-03-16 19:14

Να είσαι καλά για την βοήθειά σου.Ευχαριστώ


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

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


Search Engine Optimization by vBSEO 3.3.2