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/3329-prosthiki-antigrafoy-eggrafis-se-forma.html)

Dafnh0106 02-10-14 13:40

Προσθήκη αντιγράφου εγγραφής σε φόρμα
 
Καλησπέρα στο forum

Θα ήθελα τη βοηθειά σας σε μια εφαρμογή που εχω κάνει με συμβάσεις έργου την οποια δουλευω εδω και καιρο.

εχω μια οθόνη που έχει κάποια πεδία που συμπληρώνονται είτε με combo boxes ή με

text από πίνακες.

Θέλω να κάνω το εξης: για να μη ξαναγράφω όλα τα πεδία απο την αρχή αφού δεν

αλλαζουν , αλλαζουν όμως 2 πεδία ημερομηνιας κκαι άλλα 2 που συμπληρώνονται με το

χέρι ....πατώντας ενα κουμπί προσθήκη εγγραφης να φτιαχνω ενα αντίγραοφο της

εγγραφης που είμαι εκείνη τη στιγμή με άδεια τα πεδία μόνο που συμπληρώνω εκ νεου....

με εκτίμηση

Δάφνη Μ.

kapetang 02-10-14 14:45

Καλησπέρα
Δάφνη, δοκίμασε να προσαρμόσεις τον παρακάτω κώδικα.

Κώδικας:

Private Sub cmdAddRecord_Click()
    Dim CtlNames As Variant, j As Integer, numCtl As Integer

    On Error GoTo Err_cmdAddRecord_Click

    'Εδώ πρέπει να αναγραφούν τα ονόματα των στοιχείων ελέγχου της φόρμας
    'που θα αντιγραφούν.
    CtlNames = Array("Αιτιολογια", "Ποσό", "Τυπος")

    numCtl = UBound(CtlNames)
    ReDim CtlValues(numCtl) As Variant
    For j = 0 To numCtl
        CtlValues(j) = Me.Controls(CtlNames(j))
    Next

    DoCmd.GoToRecord , , acNewRec
    For j = 0 To numCtl
        Me.Controls(CtlNames(j)) = CtlValues(j)
    Next

Exit_cmdAddRecord_Click:
    Exit Sub

Err_cmdAddRecord_Click:
    MsgBox Err.Description
    Resume Exit_cmdAddRecord_Click
End Sub

Γιώργος

dimitrisp 02-10-14 23:41

Αντιγραφή σε επόμενη εγγραφή...
 
Γιώργο, ο Κώδικας αυτός λειτουργεί άψογα και σου αντιγράφει τα δεδομένα σε νεα εγγραφή.
Είναι δυνατόν, να σου αντιγράφει τα δεδομένα, που έχεις ήδη ορίσει, στην αμέσως επόμενη εγγραφή
του ID της φόρμας σου;
(πχ, είσαι στο ID=250 και κανεις κλικ για αντιγραφή. Τα δεδομένα του ID=250 να αντιγράφονται στο
ID=251... κλπ)

Ευχαριστώ εκ των προτέρων
Με εκτίμηση
Δημήτρης

Dafnh0106 03-10-14 13:13

Eυχαριστώ πολύ για τη βοηθεια Γιώργο :)
με εκτίμηση
Δάφνη Μ.

Meteora 03-10-14 18:27

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

Private Sub sxoleio_GotFocus()

    If Not IsNull(Me.sxoleio) Then Exit Sub
    On Error GoTo efiges

    Dim lastID As Integer
    lastID = DMax("ID", "tbl_mathima")

    Me.sxoleio = DLookup("[sxoleio]", "tbl_mathima", "[ID] =" & lastID)
    Me.taxi = DLookup("[taxi]", "tbl_mathima", "[ID] =" & lastID)
    Me.katigoria = DLookup("[katigoria]", "tbl_mathima", "[ID] =" & lastID)

    Me.mathima.SetFocus
efiges:
End Sub

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

Με εκτίμηση
Νίκος

kapetang 03-10-14 19:22

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

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

Μπορείτε να τη δείτε εδώ:

http://www.ms-office.gr/forum/access...-mia-alli.html

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

dimitrisp 04-10-14 02:03

Θερμές ευχαριστείες για την ανεκτίμητη βοήθειά σας, Νίκο και Γιώργο. Τελικά, χρησιμοποίησα τον Κώδικα του Γιώργου και το αποτέλεσμα ήταν τέλειο. Όπως ακριβώς το ήθελα.
Συμπέρασμα:
Σ΄ αυτό το Forum πράγματι, ΔΕΝ ΥΠΑΡΧΟΥΝ ΟΡΙΑ...!

Με εκτίμηση
Δημήτρης


Η ώρα είναι 11:10.

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


Search Engine Optimization by vBSEO 3.3.2