Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Φίλτράρισμα εγγραφών Φόρμας Μέσω Πολλών ComboBox

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 10-02-12, 13:06
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή Φιλτράρισμα Εγγραφών Φόρμας Μέσω Πολλαπλών ComboBox

Καλησπέρα σας,
Στη βάση-Δείγμα που ανεβάζω προσπαθώ να φιλτράρω την φόρμα μέσω των πολλαπλών ComboBox.
Θα ήθελα βοήθεια στο ComboBox Ημερομηνία από και Ημερομηνία εώς όπως επίσης και στο κουμπί ανοίγματος της Έκθεσης.

Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 19:57.
Απάντηση με παράθεση
  #2  
Παλιά 10-02-12, 17:13
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 443
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Χρήστος Εμφάνιση μηνυμάτων
Καλησπέρα σας,
Στη βάση-Δείγμα που ανεβάζω προσπαθώ να φιλτράρω την φόρμα μέσω των πολλαπλών ComboBox.
Θα ήθελα βοήθεια στο ComboBox Ημερομηνία από και Ημερομηνία εώς όπως επίσης και στο κουμπί ανοίγματος της Έκθεσης.

Καλησπέρα στο φόρουμ
Καλησπέρα Χρήστο
Κάνε αντιγραφή τον (διορθωμένο) κώδικα στη Φόρμα Orders
και πες μας αν δουλεύει.

Φιλικά
Νάσος
Παράθεση:
' ms-office.gr Ένα καταπληκτικό forum!
Option Compare Database
Private Sub cboMonth_AfterUpdate()
If Nz(Me.cboMonth) <> 0 Then
Me.DateFrom = Null
Me.DateTo = Null
Me.cboQrt = Null
End If
End Sub
Private Sub cboQrt_AfterUpdate()
If Nz(Me.cboQrt) <> 0 Then
Me.cboMonth = Null
Me.DateFrom = Null
Me.DateTo = Null
End If
End Sub
Private Sub cboYear_AfterUpdate()
If Nz(Me.cboYear) <> 0 Then
Me.DateFrom = Null
Me.DateTo = Null
End If
End Sub


Private Sub cmdFilter_Click()
DoFilter False
End Sub

Private Sub DateFrom_AfterUpdate()
If Nz(Me.DateFrom) <> 0 Then
Me.cboMonth = Null
Me.cboQrt = Null
Me.cboYear = Null
End If
End Sub

Private Sub DateTo_AfterUpdate()
If Nz(Me.DateFrom) <> 0 Then
Me.cboMonth = Null
Me.cboQrt = Null
Me.cboYear = Null
End If
End Sub
Private Sub cmdOpenRPT_Click()
DoFilter True
End Sub
Private Sub cmdReset_Click()
Dim ctl As Access.Control
For Each ctl In Me.Section(1).Controls
If TypeOf ctl Is ComboBox Or _
TypeOf ctl Is TextBox Or _
TypeOf ctl Is CheckBox Then
ctl = Null
End If
Next
Me.OrderStatus = 3
Me.Filter = vbNullString
Me.FilterOn = False
End Sub
Private Sub Εντολή25_Click()
On Error GoTo Err_Εντολή25_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmCenterOrderDetails"

stLinkCriteria = "[OrderID]=" & Me![OrderID]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Εντολή25_Click:
Exit Sub

Err_Εντολή25_Click:
MsgBox Err.Description
Resume Exit_Εντολή25_Click

End Sub
Private Sub Σύνθετο_πλαίσιο26_AfterUpdate()
' Εύρεση της εγγραφής που ταιριάζει με το στοιχείο ελέγχου
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[OrderID] = " & Str(Nz(Me![Σύνθετο πλαίσιο26], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Private Sub DoFilter(ShowInReport As Boolean)
Dim StrSQL As String, strAnd As String, i As Integer, strTemp

If Nz(Me.cboYear) <> 0 Then
StrSQL = "Year([OrderDate]) = " & Me.cboYear
i = 1
End If

If Nz(Me.cboMonth) <> 0 Then
If i = 0 Then
strAnd = vbNullString
i = 1
Else
strAnd = " And "
End If
StrSQL = StrSQL & strAnd & "Month([OrderDate]) = " & Me.cboMonth
End If

If Nz(Me.cboQrt) <> 0 Then
If i = 0 Then
strAnd = vbNullString
i = 1
Else
strAnd = " And "
End If
StrSQL = StrSQL & strAnd & Choose(Me.cboQrt, "Month([OrderDate]) < 4", _
"Month([OrderDate ]) > 3 AND Month([OrderDate]) < 7", _
"Month([OrderDate ]) > 6 AND Month([OrderDate ]) < 10", _
"Month([OrderDate ]) > 9")
End If

If IsDate(Me.DateFrom) And IsDate(Me.DateTo) Then
If i = 0 Then
strAnd = vbNullString
i = 1
Else
strAnd = " And "
End If
StrSQL = StrSQL & strAnd & "[OrderDate] Between #" & Format(Me.DateFrom, "yyyy-m-d") & "# AND #" & Format(Me.DateTo, "yyyy-m-d") & "#"
End If

If Nz(Me.cboCustomer) <> 0 Then
If i = 0 Then
strAnd = vbNullString
i = 1
Else
strAnd = " And "
End If
StrSQL = StrSQL & strAnd & "[CompanyName] ='" & Me.cboCustomer & "'"
End If

If Nz(Me.OrderStatus) <> 3 Then
If i = 0 Then
strAnd = vbNullString
i = 1
Else
strAnd = " And "
End If
strTemp = Choose(Me.OrderStatus, "[complet] = -1", "[Complete] = 0", vbNullString)
StrSQL = StrSQL & strAnd & strTemp
End If
If ShowInReport Then
DoCmd.OpenReport "rptOrders", acViewPreview, , StrSQL
Else
Me.Filter = StrSQL
Me.FilterOn = True
Me.OrderByOn = True
End If
End Sub
Απάντηση με παράθεση
  #3  
Παλιά 10-02-12, 17:52
Όνομα: Χρήστος Φ.
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 498
Προεπιλογή

(Στην 11 γραμμή απ' το τέλος όπου Complet-->Complete)
Δουλεύει άψογα, σ' ευχαριστώ πάρα πολύ.
Απάντηση με παράθεση
  #4  
Παλιά 10-02-12, 18:28
Όνομα: ΝΑΣΟΣ
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-10-2010
Μηνύματα: 443
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Χρήστος Εμφάνιση μηνυμάτων
(Στην 11 γραμμή απ' το τέλος όπου Complet-->Complete)
Δουλεύει άψογα, σ' ευχαριστώ πάρα πολύ.
Νά είσαι καλά
Τα προβλήματα ήταν τα εξής:
Στο κουμπί ανοίγματος της Έκθεσης.
Παράθεση:
Private Sub cmdOpenRPT_Click()
DoFilter True
End Sub
Για ComboBox Ημερομηνία από και Ημερομηνία εώς
Παράθεση:
'StrSQL = StrSQL & strAnd & "[OrderDate] Between #" & Format(Me.DateFrom, "yyyy-m-d") & "# OR #" & Format(Me.DateΤο, "yyyy-m-d") & "#"
Το πρόβλημα ήταν η απόστροφος μπροστά απ' 'StrSQL και έτσι το θεωρούσε σαν κείμενο
και το OR αντί του AND.
Το σωστό είναι:
Παράθεση:
StrSQL = StrSQL & strAnd & "[OrderDate] Between #" & Format(Me.DateFrom, "yyyy-m-d") & "# AND #" & Format(Me.DateTo, "yyyy-m-d") & "#"
Απάντηση με παράθεση
  #5  
Παλιά 12-08-12, 19:43
Όνομα: Σπυρίδων
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 07-08-2012
Μηνύματα: 3
Προεπιλογή

Καλησπέρα παιδιά, προσπαθώ να φτιάξω μία ΒΔ για μιά βιβλιοθήκη, ψάχνοντας στο forum για διάφορα μικροπροβλήματα είδα αυτό που έκανε ο Χρήστος και προσπαθώ να το αντιγράψω παρακάτω ανεβάζω τι έχω κάνει μέχρι τώρα είναι η "Φρμ_Βιβλία" . Μπορείτε να με βοηθήσετε με τη συνέχεια;
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Βιβλιοθήκη.0.3.zip (49,6 KB, 47 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Μεταφορά αναλυτικών εγγραφών πολλών φύλλων σε ένα συγκεντρωτικό AIAS Excel - Ερωτήσεις / Απαντήσεις 7 10-01-16 19:32
Φιλτράρισμα δευτερεύουσας φόρμας με το άνοιγμα... Χρήστος Access - Ερωτήσεις / Απαντήσεις 0 30-11-13 00:39
Ενημέρωση Πεδίου Δευτερεύουσας Φόρμας μέσω Βοηθητικής Φόρμας Χρήστος Access - Ερωτήσεις / Απαντήσεις 1 17-04-12 19:18
Συγχώνευση πολλών εγγραφών σε μια εγγραφή Γιωργος μπομπ Access - Ερωτήσεις / Απαντήσεις 4 31-03-11 22:55
[ Φόρμες ] Φιλτράρισμα εγγραφών σε Access 2007 dimitris p Access - Ερωτήσεις / Απαντήσεις 5 01-04-10 17:44


Η ώρα είναι 20:39.