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
| |