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

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

mikekal1oo 08-03-16 18:48

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

kapetang 08-03-16 19:08

Δοκίμασε τον τύπο:

=DMin("[ΛογιστικόΥπόλοιπο]";"[tblΠετρέλαιο]")

mikekal1oo 08-03-16 19:16

Μου βγαζει το σωστο αλλα οταν φιλτραρω παραμενει ο ιδιος αριθμος.Θα ηθελα να αλλαζει αναλογα με το φιλτρο.Σε ευχαριστω

kapetang 08-03-16 20:47

1 Συνημμένο(α)
Δες το συνημμένο

mikekal1oo 08-03-16 21:02

Να εισαι καλα.Ευχαριστω

mikekal1oo 09-03-16 21:43

Καλησπερα και παλι.Αν μπορεις να μου πεις σε ερωτημα πως να μου βγαζει τους μηνες με την σειρα και οχι αναποδα.Δηλ. Ιανουαριος,Φεβρουαριος κλπ.Χρεισημοποιω την Format([Ημερομηνία];"mmm")

mikekal1oo 10-03-16 07:54

Καλημερα.Εχω ακομη μια ερωτηση.Πως θα αφαιρεσω απο ενα πεδιο με σημερινη ημερομηνια,ενα αλλο πεδιο της προηγουμενης μερας.Παραδειγμα
-ημερομηνια
-π1
-π2
-π3
Το π1 της 10/3/16 μειων το π2 της 9/3/16

Ευχαριστω και συγνωμη για τις ισως χαζες ερωτησεις μου

kapetang 10-03-16 10:36

Δοκίμασε τον τύπο:

DLookUp("[f1]";"[Table1]";"fDate=Date()")-DLookUp("[f2]";"[Table1]";"fDate=Date()-1")

mikekal1oo 10-03-16 11:18

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

kapetang 10-03-16 15:25

Επισυνάπτεις ένα αρχείο και δεν προσθέτεις και κάποια δεδομένα, ώστε να διευκολύνονται οι δοκιμές

mikekal1oo 10-03-16 17:42

1 Συνημμένο(α)
Δεν ξερω αν σε βοηθαει αυτο

kapetang 10-03-16 18:14

Μιχάλη, μάλλον δε μπορούμε να συνεννοηθούμε.

Στον πίνακα που υπάρχει στην προηγούμενη ΒΔ, πρόσθεσε μερικές εγγραφές με πραγματικά δεδομένα (όχι μηδενικά).

mikekal1oo 10-03-16 18:33

1 Συνημμένο(α)
Καπως ετσι.Ευχαριστω

kapetang 10-03-16 19:02

1) Μιχάλη, η προηγούμενη ΒΔ που ανέβασες είναι η DataBase14.

2) Όπως γράφεις θα προσθέτεις «[ ένδειξηΑντλίας] και [ημερήσιαΚατανάλωση] να αφαιρω το πεδιο [ένδειξηΑντλιας] της επομενης μερας.»

Δηλαδή για να κάνουμε δοκιμή χρειαζόμαστε τουλάχιστον 2 διαδοχικές ημερομηνίες (όλες οι εγγραφές στον πίνακα που ανέβασες έχουν ημερομηνία 10/3/2016)

3) Πρέπει να ξεκαθαρίσεις αν σε μια ημερομηνία θα έχουμε πολλές εγγραφές (γραμμές).

Αν αυτό συμβαίνει πως εννοείς το ζητούμενο (ποιες γραμμές θα συμμετέχουν);

mikekal1oo 10-03-16 19:07

Εχεις δικιο.Απλα ξεχασα να αλλαξω την επομενηημερομηνια.ΚΑθε μερα ειναι διαφορετικη δηλ η επομενηειναι 10/3/16.Συγνωμη

kapetang 10-03-16 19:51

1 Συνημμένο(α)
Στη συνημμένη ΒΔ, πρόσθεσα 2 ερωτήματα.

Δοκίμασέ τα και διάλεξε αυτό που σε καλύπτει.

mikekal1oo 10-03-16 20:01

ΝΝα εισαι καλα.Ευχαριστω για την βοηθεια σου

mikekal1oo 13-03-16 23:25

Θα ηθελα να διαλεγω σελιδα απο το tab control με macro.Με το run code να διαλεγω σελιδα.Αλλα θελει function.Δεν ειναικωδικας οπως γραφουμε με το πατημα πληκτρου.Δεν ξερω αν μπορεις να καταλαβεις.Λιγο ...κινεζικα τα λεω

kapetang 14-03-16 11:11

Μιχάλη, το θέμα που άνοιξες έχει τίτλο «Dlookup προβλήματα».

Για τη σωστή οργάνωση του φόρουμ και τη διευκόλυνση της αναζήτησης, δεν είναι σωστό οι ερωτήσεις να είναι άσχετες με το θέμα.

Άνοιξε λοιπόν νέο θέμα και διατύπωσε με σαφήνεια το ζητούμενο.


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

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


Search Engine Optimization by vBSEO 3.3.2