Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   ΑΝΑΖΗΤΗΣΗ ΕΓΓΡΑΦΩΝ ΗΜΕΡΟΛΟΓΙΑΚΟΥ ΔΙΑΣΤΗΜΑΤΟΣ (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4349-anazhthsh-eggrafon-hmerologiakoy-diasthmatos.html)

smasak 10-11-16 20:45

ΑΝΑΖΗΤΗΣΗ ΕΓΓΡΑΦΩΝ ΗΜΕΡΟΛΟΓΙΑΚΟΥ ΔΙΑΣΤΗΜΑΤΟΣ
 
Έχω αυτόν τον κώδικα για εμφάνιση έκθεσης μεταξύ 2 ημερομηνιών.
Dim SDate As Variant
Dim EDate As Variant
SDate = InputBox("ΑΡΧΙΚΗ ΗΜΕΡΟΜΗΝΙΑ", "çç/ìì/åååå")
EDate = InputBox("ΤΕΛΙΚΗ ΗΜΕΡΟΜΗΝΙΑ", "çç/ìì/åååå")

If Not IsDate(SDate) Or Not IsDate(EDate) Then
MsgBox ("Áðáéôïýíôáé êé ïé äõï çìåñïìçíßåò !"), vbInformation, "Åëåã÷ïò"
Exit Sub
End If

Dim sinthiki
sinthiki = "[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" & _
" and #" & Format(EDate, "mm\/dd\/yyyy") & "#"

DoCmd.OpenReport "rptPliromesHmer", acViewReport, , "[ID]=" & Me.ID & "and " & sinthiki

Έχω προσθέσει και το πεδίο [ΗΜΕΡΟΜΗΝΙΑ ΠΛΗΡΩΜΗΣ] και θέλω να πάρει και αυτές τις εγγραφές πως πρέπει να διαμορφωθεί ο κώδικας;

smasak 01-12-16 13:27

sinthiki = "[ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] OR [ΗΜΕΡΟΜΗΝΙΑ ΠΛΗΡΩΜΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" &
" and #" & Format(EDate, "mm\/dd\/yyyy") & "#"

Πως μπορεί να συνταχθεί ώστε όταν η μία από τις δύο ημερομηνίες είναι μέσα στο ζητούμενο διάστημα να έχουμε αποτέλεσμα; Κάτι όπως με την or στο excel.

kapetang 02-12-16 15:32

Καλησπέρα

Σάκη, δοκίμασε τον κώδικα:

Κώδικας:

Private Sub cmdOpenReport_Click()
    Dim sinthiki As String, SDate As Variant, EDate As Variant
    Do
        SDate = InputBox("Ημερομηνία έναρξης", "η/μ/εεεε")
    Loop Until IsDate(SDate)
    Do
        EDate = InputBox("Ημερομηνία λήξης", "η/μ/εεεε")
    Loop Until IsDate(EDate)

    sinthiki = "([ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" & _
            " And #" & Format(EDate, "mm\/dd\/yyyy") & "#) OR " & _
              "([ΗΜΕΡΟΜΗΝΙΑ ΠΛΗΡΩΜΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" & _
            " And #" & Format(EDate, "mm\/dd\/yyyy") & "#)"

    DoCmd.OpenReport "rptPliromesHmer", acViewPreview, , sinthiki

End Sub


smasak 02-12-16 16:58

Γιώργο θέλοντας να βγάλω καρτέλα για έναν μόνο άλλαξα την " DoCmd.OpenReport "rptPliromesHmer", acViewPreview, , sinthiki " σε "DoCmd.OpenReport "rptPliromesHmer", acViewReport, , "[ID]=" & Me.ID & "and " & sinthiki" αλλά δεν δουλεύει και μάλιστα μου φέρνει άλλο ID.

kapetang 02-12-16 17:54

Αν θέλεις μόνο για ένα βάλε μόνο: "[ID]=" & Me.ID

smasak 02-12-16 19:08

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

kapetang 02-12-16 21:46

Δοκίμασε τον κώδικα:

Κώδικας:

Private Sub Εντολή26_Click()
Dim sinthiki As String, SDate As Variant, EDate As Variant
    Do
        SDate = InputBox("Ημερομηνία έναρξης", "η/μ/εεεε")
    Loop Until IsDate(SDate)
    Do
        EDate = InputBox("Ημερομηνία λήξης", "η/μ/εεεε")
    Loop Until IsDate(EDate)

    sinthiki = "(([ΗΜΕΡΟΜΗΝΙΑ ΧΡΕΩΣΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" & _
            " And #" & Format(EDate, "mm\/dd\/yyyy") & "#) OR " & _
              "([ΗΜΕΡΟΜΗΝΙΑ ΠΛΗΡΩΜΗΣ] Between #" & Format(SDate, "mm\/dd\/yyyy") & "#" & _
            " And #" & Format(EDate, "mm\/dd\/yyyy") & "#))"

    DoCmd.OpenReport "rptPliromesHmer", acViewPreview, , "qry_xreopistoseis.[ID]=" & Me.ID & " and " & sinthiki

End Sub


smasak 05-12-16 18:28

Ok δουλεύει τέλεια.


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

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


Search Engine Optimization by vBSEO 3.3.2