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/1874-problima-se-kodika-formas.html)

ΚΩΣΤΑΣ2 17-05-12 23:10

Πρόβλημα σε κώδικα Φόρμας
 
1 Συνημμένο(α)
Καλησπέρα σε όλους
Για μια φορα ακόμα ζητάω τη βοήθεια σας
Έχω ένα πρόβλημα στη forma χτυπάει ο κώδικας όταν βάζω εξαψήφιους αριθμούς ενώ μέχρι πενταψήφιους πάει καλά

Dangel82 18-05-12 07:44

Καλημέρα..

το i όρισέτο ως double στον κώδικά σου

ΚΩΣΤΑΣ2 20-05-12 12:58

Ευχαριστω για την απάντηση Άγγελε όμως χτυπάει ο κώδικας
τη forma με αυτόν τον κώδικα τη χρησιμοποιώ σε άλλο πινακα και δουλευει άψογα στο επισυναπτόμενο έχω και τους 2 πίνακες και 2 φόρμες μήπως κάνω κάποιο λάθος

ΚΩΣΤΑΣ2 20-05-12 13:03

1 Συνημμένο(α)
Ευχαριστω για την απάντηση Άγγελε όμως χτυπάει ο κώδικας
τη forma με αυτόν τον κώδικα τη χρησιμοποιώ σε άλλο πινακα και δουλευει άψογα στο επισυναπτόμενο έχω και τους 2 πίνακες και 2 φόρμες μήπως κάνω κάποιο λάθος

kapetang 20-05-12 16:51

Καλησπέρα στην παρέα

Κώστα, άλλαξε τον κώδικά σου με τον ακόλουθο.

Κώδικας:

Private Sub Command0_Click()
    Dim i As Long
    Dim rs As Recordset
   
    Set rs = CurrentDb.OpenRecordset("ΑΠΟΘΗΚΗ")
    For i = RECID1 To RECID2
        rs.AddNew
        rs!DATEIN = RECDATE
        rs!ΚΩΔ_ΠΕΛ = PELID
        rs!DPAR = DELTIOID
        rs!CODE1 = i
        On Error Resume Next
        rs.Update
        On Error GoTo 0
    Next i
    rs.Close
    Set rs = Nothing
End Sub]

Με τον κώδικα αυτό δε θα προκαλείται λάθος:

1) Όταν υπάρχουν Null τιμές, όπου η συνάρτηση Val δίνει λάθος.

2) Όταν επιχειρείται καταχώρηση εγγραφής που θα δημιουργούσε διπλότυπες τιμές στα πεδία CODE1 και REC_ID, τα οποία ως πρωτεύοντα κλειδιά έχουν μοναδικές τιμές.

Δηλαδή, αν στο διάστημα [Από] [Έως] υπάρχουν αριθμοί που ήδη έχουν καταχωρηθεί στον πίνακα [ΑΠΟΘΗΚΗ] (ή ΠΑΡΑΛΑΒΕΣ) οι εγγραφές τους θα παραλειφθούν.

Ο κώδικας, κατάλληλα προσαρμοσμένος, θα πρέπει να αντιγραφεί και στη δεύτερη φόρμα.

Φιλικά/Γιώργος

Dangel82 20-05-12 19:36

1 Συνημμένο(α)
Καλησπέρα και απο εμένα..

Αρχικά θα συμφωνήσω με τον Γιώργο για τις NULL τιμές..
Κάνε αυτό που σου λέει ο Γιώργος.

Θα επιμείνω και θα πω πως στην αρχική σου ερώτηση:
Παράθεση:

Έχω ένα πρόβλημα στη forma χτυπάει ο κώδικας όταν βάζω εξαψήφιους αριθμούς ενώ μέχρι πενταψήφιους πάει καλά
η απάντησή σου είναι να αλλάξεις το:
Κώδικας:

Dim i As Long
με:
Κώδικας:

Dim i As Double
Όταν έχεις την μεταβλητή ως Long τότε πέρνεις το σφάλμα 3022(photo)
με στοιχεία στην φόρμα: Αρ.Κωδικού: 123456 Έως: 123457

Ενώ με την μεταβήτή σου ως Double προχωράει και καταχωρεί κανονικά στον πίνακα.

Ξαναλέω πω ο Γιώργος σου επισήμανε ήδη το πρόβλημα της φόρμας για NULL τιμές ή διπλοεγγραφες... (παραβίαση κλειδιών του πίνακα)

ΚΩΣΤΑΣ2 20-05-12 20:21

Ευχαριστώ πολύ για τη βοήθεια σας
το πρόβλημα λύθηκε


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

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


Search Engine Optimization by vBSEO 3.3.2