freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Πεδίο που να αυξάνετε αυτόματα κατά 1


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [8 Μηνύματα]      Bookmarks Tags: καταχώρισηαυτόματα Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
big_dio


Μέλος από: 09 Απρ 2004
Βοηθήματα: 1
Μηνύματα: 84

Περιοχή: corfu
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 11:53    Θέμα: Πεδίο που να αυξάνετε αυτόματα κατά 1
Περιγραφή θέματος: Πεδίο που να αυξάνετε αυτόματα κατά 1 μετά την καταχώριση της εγράφης
Απάντηση με παράθεση  Mark this post and the followings unread

Καλημέρα
Θέλω να δημιουργήσω ένα πεδίο που να αυξάνετε αυτόματα κατά 1 μετά την καταχώριση της εγράφης, το πεδίο αυτόματης αρίθμησης δεν μου κάνει γιατί αν ξεκινήσω μια εγγραφή στον πίνακα και την ακυρώσω το πεδίο έχει είδη πάρει την τιμή και της εγγραφής που τελικά δεν καταχωρήθηκε.

Ευχαριστώ
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 12:03    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Η γνώμη μου είναι να αφήσεις ως έχει το πεδίο αυτόματης αρίθμησης το οποίο θα είναι και το πρωτεύον κλειδί.
Στην συνέχεια θα πρέπει να φτιάξεις ένα ερώτημα το οποίο θα παίρνει το max από το πεδίο αυτόματης αρίθμησης και θα αυξάνει +1 από την προηγούμενη εγγραφή.

_________________
Αγγελίες - Aggelia.eu
big_dio


Μέλος από: 09 Απρ 2004
Βοηθήματα: 1
Μηνύματα: 84

Περιοχή: corfu
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 12:20    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

vassilism ανέφερε:
Η γνώμη μου είναι να αφήσεις ως έχει το πεδίο αυτόματης αρίθμησης το οποίο θα είναι και το πρωτεύον κλειδί.
Στην συνέχεια θα πρέπει να φτιάξεις ένα ερώτημα το οποίο θα παίρνει το max από το πεδίο αυτόματης αρίθμησης και θα αυξάνει +1 από την προηγούμενη εγγραφή.


Ευχαριστώ, θα το δω...
big_dio


Μέλος από: 09 Απρ 2004
Βοηθήματα: 1
Μηνύματα: 84

Περιοχή: corfu
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 12:44    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

το δοκίμασα αλλά κάτι δεν κάνω σωστά μπορείς να βοηθήσεις λίγο παραπάνω
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 14:27    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Βασικά έχω πολύ καιρό να ασχοληθώ με MS Access και δεν μπορώ να θυμηθώ πώς να σου συντάξω το ερώτημα.
Απλά σου λέω την λογική για να σε βάλω στο κλίμα.
Διάβασα πάλι την απάντησή μου και είδα ότι δεν διατύπωσα σωστά, έκανα λάθος.
Όταν λέω να φτιάξεις ένα ερώτημα το οποίο θα παίρνει το max από το πεδίο αυτόματης αρίθμησης και θα αυξάνει +1 από την προηγούμενη εγγραφή εννοώ το εξής:

1 θα παίρνει το sum από το πεδίο αυτόματης αρίθμησης (δηλαδή το σύνολο των εγγραφών)
2 θα φτιάξεις άλλο ένα πεδίο για την σωστή αρίθμηση.
3 στο πεδίο της σωστής αρίθμησης (το οποίo θα έχει τις εγγραφές με τη σειρά) θα κάνεις ερώτημα που θα αυξάνει κατά 1 από το sum του πεδίου της αυτόματης αρίθμησης.

Μπορεί να υπάρχει και πιο εύκολος τρόπος αλλά αυτό είναι το πρώτο που μου ήρθε στο μυαλό.

_________________
Αγγελίες - Aggelia.eu
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 18 Ιουλ 2008 14:40    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δες στο Site μου στο Access VBA Κώδικας και αρχεία - Δικό μας autonumber http://www.MsAccess.gr όπου εκεί επεξηγώ τι να κάνεις.


Το Dmax η καλύτερα ο κώδικας μου το βάζεις στο Event BeforeInsert της Φόρμας

Το Link για απευθείας είναι :

http://access.terapad.com/index.cfm?fa=contentGeneric.qohsvjvtnbpzjmne

Φιλικά
Kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
big_dio


Μέλος από: 09 Απρ 2004
Βοηθήματα: 1
Μηνύματα: 84

Περιοχή: corfu
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 19 Ιουλ 2008 14:14    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε kon73 σε ευχαριστώ για την βοήθεια ,

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

Εχω κάνει αυτό αλλά δεν παίζει η τιμή του πεδίου ΑΔΑ παραμένει 0
Private Sub ΑΔΑ_BeforeUpdate(Cancel As Integer)
Public Function CustAutoNum(IDΕπισκευές, IDΕπισκευές, VarΑΔΑ As String) As Integer

Dim VarRec As Integer
VarRec = Me.IDΕπισκευές
VarRec = DMax(IDΕπισκευές, VarΑΔΑ) + 1
CustAutoNum = VarRec


End Sub

ΕΥΧΑΡΙΣΤΏ
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 19 Ιουλ 2008 15:03    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

To CustAutoNum θα μπει στο Event BeforeInsert της Φόρμας όχι στο BeforeUpdate του ΑΔΑ. Σ'αυτό το CustAutNum έχω βάλει και ένα boolean αν είναι να ξεκινά η αρίθμηση από το 0 η το 1. Δίνω False το λοιπόν στο παράδειγμα αυτό για να εμφανίζεται το 1 ως πρώτος αριθμός του πίνακα ID. Στο όνομα πίνακα βάζεις τον πίνακα που βλέπει ώς ControlSource η φόρμα σου.

Θα δώσεις τον εξής Κώδικα
κώδικας:


Me.IDΕπισκευές=CustAutoNum("IDΕπισκευές","ΌνομαΠίνακα",false)

Και ο κώδικας για το CustAutNum θα είναι
κώδικας:
Public Function CAutoNum(id, Table As String, zero As Boolean) As Integer
If zero = True Then
    CAutoNum = Nz(DMax(id, Table), -1) + 1
Else
    CAutoNum = Nz(DMax(id, Table), 0) + 1
End If
End Function


Αυτά, πιστεύω να βοήθησα. Αν εξακολουθείς να έχεις πρόβλημα στείλε μου την βάση στο e-mail της σελίδας μου και στο εισάγω εγώ. Πρέπει όμως να μου πεις σε ποια φόρμα το θέλεις.

Φιλικά

Kon 73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [8 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Τώρα είναι 04 Δεκ 2016 10:10 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos