Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Πίνακες ] Ορισμός τυχαίου αριθμού σε πεδίο πίνακα

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #21  
Παλιά 09-03-10, 22:46
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή Μήνυμα λάθους

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Αγαπητέ Δημήτρη καλησπέρα!

Μάλλον έχεις αφαιρέσει το : On Error Resume Next

πριν από τη γραμμή:

With CreateObject("Scripting.Dictionary")

Τα λέμε..

Τάσος
Τάσο επισυνάπτω τον κώδικα.
Ο κώδικας σταματά στο κίτρινο.
Έχω προσθέσει και ένα άλλο κουμπί που εκτελεί το δεύτερο κώδικα. Μήπως φταίει αυτό;
Συνημμένα Thumbnails
Ορισμός τυχαίου αριθμού σε πεδίο πίνακα-err.jpg  
Απάντηση με παράθεση
  #22  
Παλιά 09-03-10, 23:24
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Δημήτρη, δεν έχω κατανοήσει πώς σου βγάζει το σφάλμα 457 αφού με τη γραμμή
On Error Resume Next θα αγνοηθούν τα λάθη που προκαλούνται κατά την
προσθήκη εγγραφής που ήδη έχει περαστεί.

Επειδή εκ των πραγμάτων δεν μπορώ να δω το πρόβλημα σου σε βάθος,
Θα σου συνιστούσα να τρέχεις τον παρακάτω κώδικα που δεν χρειάζεται ρουτίνα χειρισμού σφαλμάτων:

Κώδικας:
Private Sub Εντολή11_Click()
      Dim i%, RecCount%, fld As DAO.Field, strSql$, x&, rng&, Itm&, LngMin&, LngMax&
      strSql = "Select * From " & Me.RecordSource & IIf(Me.FilterOn, " Where " & Me.Filter, vbNullString)
      With CurrentDb.OpenRecordset(strSql, dbOpenDynaset)
          If .RecordCount Then .MoveLast: .MoveFirst
          RecCount = .RecordCount
          LngMin = 0
          LngMax = RecCount
          Set fld = .Fields("ΑρΚλήρωσης")
          ReDim xKeys(LngMin To LngMax)
          For i = LngMin To LngMax - 1
              xKeys(i) = i + 1
          Next
          rng = LngMax - LngMin
          For i = LngMin To LngMax - 1
              x = Int(Rnd * rng) + i
              Itm = xKeys(x)
              xKeys(x) = xKeys(i)
              xKeys(i) = Itm
              rng = rng - 1
          Next
          For i = 0 To RecCount - 1
              .Edit
              fld = xKeys(i)
              .Update
              .MoveNext
          Next
          .Close
      End With
      Me.Refresh
      Me.ΑρΚλήρωσης.SetFocus
      DoCmd.RunCommand acCmdSortAscending
  End Sub
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #23  
Παλιά 10-03-10, 13:09
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή

Αγαπητέ φίλε Τάσο.
Μόλις δοκίμασα το νέο κώδικα που μου έστειλες και φαίνεται πως λειτουργεί χωρίς πρόβλημα.
Επίσης θα ήθελα να σου πω όσον αφορά τον προηγούμενο κώδικα, μήπως καταλάβεις το λόγο που έβγαζε αυτό το μήνυμα λάθους, ότι δοκίμασα την ΒΔ σε ένα άλλο υπολογιστεί που έχω και δεν μου έβγαζε αυτό το λάθος. Απλά το αναφέρω μήπως καταλάβεις τι έφταιγε.

Και πάλι ευχαριστώ
Φιλικά Δημήτρης.
Απάντηση με παράθεση
  #24  
Παλιά 11-03-10, 10:22
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα!
Δημήτρη, βλέποντας μόνο τον κώδικα στην εικόνα του μηνύματος σου, μπορώ να υποθέσω σε (θεωρητικό επίπεδο πάντα)
ότι για κάποιο λόγο (που εγώ "στα τυφλά" δεν μπορώ να καταλάβω) δεν διαβάστηκε και
κατά συνέπεια δεν εκτελέσθηκε η εντολή Resume next από την VBA. Γι αυτό και
εμφάνισε το σφάλμα 457.

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #25  
Παλιά 22-03-10, 00:51
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Καλημέρα!
Δημήτρη, βλέποντας μόνο τον κώδικα στην εικόνα του μηνύματος σου, μπορώ να υποθέσω σε (θεωρητικό επίπεδο πάντα)
ότι για κάποιο λόγο (που εγώ "στα τυφλά" δεν μπορώ να καταλάβω) δεν διαβάστηκε και
κατά συνέπεια δεν εκτελέσθηκε η εντολή Resume next από την VBA. Γι αυτό και
εμφάνισε το σφάλμα 457.

Φιλικά

Τάσος

Καλησπέρα σε όλους τους φίλους του forum.
Επανέρχομαι στο θέμα της κλήρωσης αλλά αυτή τη φορά είναι πιο πολύπλοκο από το αρχικό.
Επισυνάπτω το αρχείο με μια νέα φόρμα (φύλο αγώνα) όπου εξηγώ τι θα ήθελα να γίνει.
Δεν ξέρω αν αυτό που ζητώ μπορεί να γίνει ή όχι αλλά σε αυτό το forum όλα είναι πιθανά.

Ευχαριστώ πολύ
Φιλικά Δημήτρης...
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Klirosi9_3_2010.zip (115,4 KB, 26 εμφανίσεις)
Απάντηση με παράθεση
  #26  
Παλιά 24-03-10, 11:38
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Δημήτρη καλημέρα!

Μέσα στο αρχείο σου γράφεις:
Παράθεση:
Τι θέλω να κάνω.
Πρώτα θέλω να φιλτράρω τις εγγραφές με βάση το έτος γέννησης και
μετά πατώντας [Κλήρωση] να παίρνει ένα τυχαίο αριθμό.
Θα πρέπει όλοι όσοι φιλτράρονται να παίρνουν ένα αριθμό διαφορετικό για τον καθένα
Απ ότι διαπίστωσα αυτό ακριβώς γίνεται ήδη στο αρχείο που ανέβασες.
Τι δεν κατάλαβα;

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #27  
Παλιά 24-03-10, 15:51
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή

Καλησπέρα Τάσο και σε όλους τους φίλους.
Καταρχάς να σε ευχαριστήσω που απάντησες στο μήνυμά μου.
Αυτό που θέλω να κάνω ή για να το θέσω καλύτερα, να το κάνεις εσύ ή κάποιος φίλος του Forum (γιατί εγώ αποκλείεται να το κάνω), το περιγράφω στην δεύτερη φόρμα που υπάρχει στο επισυναπτόμενο αρχείο. Είναι συνέχεια του πρώτου αρχείου που όπως σωστά λες γίνεται, αλλά με άλλες δύο παραμέτρους που περιγράφω στην δεύτερη φόρμα "Φύλο Αγώνα". Θα πρέπει δηλαδή ή κλήρωση να μπορεί να λάβει υπόψιν τις 3 περιπτώσεις που περιγράφω.
Την πρώτη περίπτωση την έχεις καλύψει με τον πρώτο κώδικα που είχες στείλει, τώρα αν μπορεί να καλυφθεί ή δεύτερη περίπτωση θα ήταν πολύ καλό, και όσον αφορά την τρίτη περίπτωση που λογικά είναι ή δυσκολότερη αν γίνεται καλώς αλλιώς θα το κάνω χειροκίνητα μετά την κλήρωση.

Δεν ξέρω αν σου έδωσα να καταλάβεις τι πρέπει να γίνει.

Φιλικά Δημήτρης...
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Παραγωγή τυχαίου αριθμού-Πρόβλημα parara Access - Ερωτήσεις / Απαντήσεις 3 06-05-16 19:02
Παραγωγή τυχαίου αριθμού & απενεργοποίηση VBA parara Access - Ερωτήσεις / Απαντήσεις 2 25-03-16 09:52
help πεδιο σε πινακα sfedona85 Access - Ερωτήσεις / Απαντήσεις 5 24-02-09 08:44


Η ώρα είναι 07:48.