Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
σφάλμα στη συννένωση κριτηρίων
Εκτελώ τον παρακάτω κώδικα και μου βγάζει λάθος MONO στην συννένωση των κριτηρίων is not Null AND is Null (to με κόκκινο font)... Δοκίμασα και διάφορους άλλους συνδιασμούς μετά το googlισμα αλλά και πάλι δεν έκανα τίποτα... οπότε οι έμπειροι ας βάλουν το χεράκι τους... Κώδικας: Private Sub cmd19_Click() Dim stDocName As String Dim stLinkCriteria As String stDocName = "ERGASIES1" If Me.group1.Value = 1 Then DoCmd.OpenForm stDocName, acNormal Else If Me.group1.Value = 2 Then stLinkCriteria = "DateFinished Is Null" DoCmd.OpenForm stDocName, , , stLinkCriteria Else If Me.group1.Value = 3 Then stLinkCriteria = "DateFinished Is not Null" DoCmd.OpenForm stDocName, , , stLinkCriteria Else If Me.group1.Value = 4 Then stLinkCriteria = "DateFinished Is not Null" And "DatePickedUp Is Null" DoCmd.OpenForm stDocName, , , stLinkCriteria Else if Me.group1.Value = 5 Then stLinkCriteria = "[DateFinished]>=" & "#" & Me![Beginning Date] & "#" & _ "And [DateFinished]<=" & "#" & Me![Ending Date] & "#" DoCmd.OpenForm stDocName, , , stLinkCriteria End If End If End If End If End If End Sub Τελευταία επεξεργασία από το χρήστη Tasos : 08-03-10 στις 17:34. |
#2
| ||||
| ||||
Δοκίμασε τη δομή : stLinkCriteria = "DateFinished Is not Null And DatePickedUp Is Null" Φιλικά / Νίκος Δ. |
#3
| ||||
| ||||
Καλησπέρα σε όλους! Φίλοι μου η χρήση της Choose αποτελεί μια γρήγορη λύση που μπορεί να χρησιμοποιηθεί είτε στη VBA είτε σε ερώτημα είτε σε υπολογισμένο πεδίο. Έτσι με τη χρήση της συνάρτησης αυτής, μπορούμε να απλοποιήσουμε τον κώδικα μας έτσι: Κώδικας: Private Sub cmd19_Click() Dim stDocName As String, stLinkCriteria As String stDocName = "ERGASIES1" stLinkCriteria = _ Choose(Nz(Me.group1, 1), _ vbNullString, _ "IsNull([DateFinished])", _ "Not IsNull([DateFinished])", _ "Not IsNull([DateFinished]) And isNull([DatePickedUp])", _ "[DateFinished] Between #" & Me![Beginning Date] & "# And #" & Me![Ending Date] & "#") DoCmd.OpenForm stDocName, , , stLinkCriteria End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#4
| |||
| |||
thanks Νίκο.. αυτό ήταν
|
#5
| |||
| |||
Παράθεση:
Όχι βέβαια πως αμφέβαλλα, αλλά την έλαβα ως μια αφορμή για να κοιτάξω την choose μπας και καταλάβω πως γίνεται η απλοποίηση Επίσης ευχαριστώ Τάσο... |
#6
| |||
| |||
Νέα συννένωση κατά choose
Βρε παιδιά προσπάθησα να απλοποιήσω με την choose άλλον ένα κώδικα που είχα, αλλά δεν μου βγάζει σωστά αποτελέσματα (δηλαδή δεν βγάζει καθόλου αποτελέσματα) στις περιπτώσεις που έχω και isNull Κώδικας: Private Sub cmd31_Click() Dim stDocName As String, stLinkCriteria As String stDocName = "ERGASIES2" stLinkCriteria = _ Choose(Nz(Me.group2, 1), _ "[Rec]=" & "'" & Me![cboMY] & "'", _ "[Rec]=" & "'" & Me![cboMY] & "'" & "And IsNull([Fin])", _ "[Fin]=" & "'" & Me![cboMY] & "'", _ "[Fin]=" & "'" & Me![cboMY] & "'" & "And isNull([Pic])", _ "[Fin] Between #" & Me![Beginning Date] & "# And #" & Me![Ending Date] & "#" & "And isNull([Pic])", _ "[Fin] Between #" & Me![Beginning Date] & "# And #" & Me![Ending Date] & "#") DoCmd.OpenForm stDocName, , , stLinkCriteria End Sub |
#7
| ||||
| ||||
Καλησπέρα! Φίλε μου Ανδρέα, αν σου είναι εύκολο, ανέβασε ένα αρχείο-παράδειγμα για να μπορέσουμε να δούμε καλύτερα τι συμβαίνει. Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#8
| |||
| |||
Νέα συννένωση κατά choose
Τάσο, ανεβάζω την test.mdb όπου έχωσα τα εναπομείναντα προβλήματά μου με την choose... Συγκεκριμένα στα cmd10 kai 11 για τιμές 2 και 4 του group1 δεν μου εμφανίζονται εγγραφές, ενώ υπάρχουν... Είμαι σίγουρος ότι κάποια πατάτα έχω κάνει στη συννένωση με το κριτήριο isnull... επίσης να διευκρινίσω ότι όλα τα πεδία είναι date/time.. Τελευταία επεξεργασία από το χρήστη amy : 11-03-10 στις 02:23. |
#9
| |||
| |||
Νέα περίεργα προβλήματα στα κριτήρια
Καλησπέρα σε όλους... Τελικά παρατηρώ ότι στην βάση που έχω ανεβάσει στο τελευταίο post υπάρχει το εξής περίεργο πρόβλημα... Ακόμα και για τις επιλογές 1 και 3 της ομάδας επιλογών, τα αποτελέσματα δεν είναι σωστά στις περιπτώσεις που βάζω άσχετες ημερομηνίες στα πεδία "από" και "έως" Και για να γίνω πιό σαφής, όταν ζητάω ημερομηνίες που υπάρχουν στις εγγραφές τότε και το 1 και το 3 δίνει σωστά αποτελέσματα.. αν όμως βάλω ανύπαρκτες ημερομηνίες τότε βγάζει αποτελέσματα ενώ δεν υπάρχουν στην πραγματικότητα... Δηλαδή ενώ με επιλεγμένο το "όλες" ή το "τελειωμένες" και με ορισμό ημερομηνιών πχ από 1/2/2010 έως 28/2/2010 το cmd11 μου δίνει εγγραφές που πράγματι πληρούν τα κριτήρια, αν βάλω όμως από 1/3/2010 έως 13/3/2010 τόττε μου δίνει πάλι καμια πενηνταριά εγγραφές που όμως δεν ανταποκρίνονται στο κριτήριο γιατί στην πραγματικότητα δεν υπάρχει ούτε μία εγγραφή για τον 3ο του 2010... Κάντε καμμια δοκιμή στην πράξη επί του test.zip αν δεν έγινα πλήρως κατανοητός... Να σημειώσω ότι αν τα κριτήρια τα βάλλω σε source query τότε όλα πάνε ρολόι... ΥΓ Για τις περιπτώσεις 2 και 4 να υποθέσω ότι κανένας δεν ασχολήθηκε με ποιον τρόπο θα συννενωθούν τα κριτήρια για να είναι αποδεκτά από την choose? |
#10
| ||||
| ||||
Αγαπητέ Ανδρέα, καλησπέρα! Οι ημερομηνίες σε ερωτήματα SQL όπου ανήκουν και τα φίλτρα, πρέπει να έχουν κάποια συγκεκριμένη μορφή (αμερικάνικη μορφή ημερομηνίας) προκειμένου να αναγνωριστούν σωστά. Μια τέτοιου είδους μετατροπή γίνεται αυτόματα από την Access όταν δημιουργούμε Ερώτημα ή φίλτρο χειροκίνητα. Μέσα από τη VBA όμως θα πρέπει να είμαστε συνεπέστατοι σε ορίσματα ημερομηνιών. Για παράδειγμα, ο ορισμός: Κώδικας: "[DateReceived] Between #" & Me![Beginning Date] & "# And #" & Me![Ending Date] & "#" Κώδικας: "[DateReceived] Between #" & Format(Me![Beginning Date], "m\/d\/yyyy") & "# And #" & Format(Me![Ending Date], "m\/d\/yyyy") & "#" Κώδικας: "[DateReceived] Between #" & Format(Me![Beginning Date], "yyyy\/m\/d") & "# And #" & Format(Me![Ending Date], "yyyy\/m\/d") & "#" Έτσι στην περίπτωση σου μάλλον θα πρέπει να χρησιμοποιήσεις κάτι τέτοιο: Κώδικας: ([Fin] Is Null Or [Fin]="") Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 14-03-10 στις 17:05. |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Παράμετρο κριτήριων σε ερώτημα | vraxnakisg | Access - Ερωτήσεις / Απαντήσεις | 1 | 08-06-16 19:23 |
Σφάλμα σε κώδικα | Dimitriss | Access - Ερωτήσεις / Απαντήσεις | 2 | 04-01-16 02:02 |
[Συναρτήσεις] Αναζήτηση 2 ή περισσότερων κριτηρίων | mmanoum | Excel - Ερωτήσεις / Απαντήσεις | 4 | 31-12-15 16:13 |
[ Φόρμες ] Σφάλμα σε κώδικα | xristos | Access - Ερωτήσεις / Απαντήσεις | 0 | 31-12-13 21:52 |
[ Φόρμες ] Σφάλμα: Table 'TempMSysAccessObjects' already exists | xristos0718 | Access - Ερωτήσεις / Απαντήσεις | 2 | 13-04-10 10:25 |
Η ώρα είναι 06:46.