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/4601-enimerosi-timon-pinaka-apo-forma.html)

octapus 08-06-17 19:52

ενημέρωση τιμών πίνακα από φόρμα
 
1 Συνημμένο(α)
χαιρετίζω την παρέα μετά από καιρό.
εύχομαι να είστε όλοι καλά.

έχω φτιάξει μία φόρμα FrmERGA που ενημερώνει τον πίνακα ERGA.
τα πεδία KAEK και Titlos παίρνουν τιμές από τον πίνακα PROYPOLOGISMOSMEAN
και από τα παιδία ΚΑ και περιγραφή.
προσπάθησα να το κάνω ανοίγοντας μία φόρμα (είναι πιο κοντά στις γνώσεις μου) και σώζωντας κατά την έξοδο.
αν γίνετε και απ' ευθείας χωρίς άνοιγμα πίνακα θα είναι καλύτερα.
έκανα ένα σύνθετο πλαίσιο για να διαλέγω το ΚΑΕΚ και μετά την ενημέρωση ανοίγει η φόρμα.
ανοίγει η φόρμα και κατα το κλείσιμο μου βγάζει λάθος στον κώδικα.

συννημένα έχω και μια εκδοχή της βάσης

ευχαριστώ εκ των προτέρων

Meteora 09-06-17 14:34

Καλημέρα.
Κάνε τη εργασία σου ανάρτηση σε παλιότερες εκδόσεις Access, για να δώσεις σε περισσότερα μέλη τη δυνατότητα να δουν το πρόβλημα και να σε βοηθήσουν.

φιλικά / Νίκος

nasos23 10-06-17 08:42

1 Συνημμένο(α)
Καλημέρα σε όλους.
Παναγιώτη δες στο συνημμένο τη φόρμα "ΦΡΜ_ERGA" νομίζω είναι αυτο που ζητάς.

octapus 12-06-17 12:56

1 Συνημμένο(α)
σε ευχαριστώ πολύ Νάσο

αυτό θέλω, αλλά να μην εμφανίζεται η δευτερεύουσα φόρμα
δεν την χρειάζομαι.

Νίκο έχεις δίκιο με την βέρσιον της access.
δεν το σκέφτηκα, ήταν και προχωρημένη η ώρα.

nasos23 12-06-17 18:00

Καλησπέρα Παναγιώτη
Μπορείς να την αφαιρέσεις.

octapus 13-06-17 10:22

Ευχαριστώ πολύ Νάσο

octapus 19-07-17 12:45

1 Συνημμένο(α)
Χαιρετίζω ξανά την όμορφη παρέα.
εύχομαι να είσαστε όλοι καλά.

στην φόρμα φρμERGA θέλω όταν πατάω διπλό κλικ στο ΚΑΕΚ να ανοίγει η φόρμα
FrmLeptomereiesKAEK.
το κοινό πεδίο είναι ΚΑΕΚ στην φόρμα εργα και ΚΑ στην άλλη φόρμα.
προσπάθησα να το κάνω αλλά χτυπάει ο κώδικας.
και τα δύο πεδία είναι κείμενο.

ευχαριστώ εκ των προτέρων

nasos23 19-07-17 16:36

1 Συνημμένο(α)
Καλησπέρα σε όλους.
Παναγιώτη δες το συνημμένο με μερικές διορθώσεις.

octapus 20-07-17 12:45

ευχαριστώ πολύ νάσο
δουλεύει τέλεια


παναγιώτης

octapus 25-07-17 14:09

1 Συνημμένο(α)
χαιρετίζω και πάλι
επανέρχομαι γιατί διαπίστωσα ότι στην φόρμα που έχω επισυνάψει μου δημιουργείτε το εξής πρόβλημα
όταν προσπαθώ να συμπληρώσω το ΚΑΕΚ ή οποιοδήποτε πεδίο σε επόμενες εγγραφές με πετάει στην πρώτη εγγραφή.
έχω κάνει κάτι λάθος. αλλά τι;;
μήπως να ξαναφτιάξω την φόρμα από την αρχή;;
ευχαριστώ και πάλι

nasos23 25-07-17 19:32

Παναγιώτη
Στη φόρμα σε προβολή σχεδίασης διέγραψε την εντολή Me.Requery.

octapus 26-07-17 12:42

ευχαριστώ πολύ νάσο

φιλικά παναγιώτης

octapus 03-08-17 13:32

1 Συνημμένο(α)
Καλησπερίζω και πάλι.
προσπαθώ να σώσω τα πεδία και σε έναν άλλο πίνακα με κώδικα
αλλά κάπου κάνω λάθος

CurrentDb.Execute "INSERT INTO ERGA2 (AA, KAEK, Titlos, ArMel, DateMeletis) " _
& " VALUES (" & Me.AA & "', '" & Me.KAEK & "', '" & Me.Titlos & "', '" & Me.ArMel & "', '" & Me.DateMeletis & ")"

kapetang 03-08-17 19:14

Καλησπέρα

Παναγιώτη δοκίμασε τον κώδικα:

Κώδικας:

Private Sub RunSaveParap2_Click()
    'Υπέθεσα ότι μόνο τα πεδία ArMel και DateMeletis μπορούν να είναι Null.
    'Αν μπορεί και άλλα πεδία να είναι Null θα πρέπει να προσαρμοστεί ο κώδικας
   
    Dim strV As String
   
    strV = " VALUES ('" & Me.AA & "', '" & Me.KAEK & "', '" & Replace(Me.Titlos, "", """") & "'"
 
    If IsNull(Me.ArMel) Then
        strV = strV & ", Null"
    Else
        strV = strV & ", '" & Me.ArMel & "'"
    End If

    If IsNull(Me.DateMeletis) Then
        strV = strV & ", Null )"
    Else
        strV = strV & ", #" & Format(Me.DateMeletis, "mm/d/yyyy") & "#)"
    End If

    CurrentDb.Execute "INSERT INTO ERGA2 (AA, KAEK, Titlos, ArMel, DateMeletis) " & strV
End Sub


octapus 04-08-17 14:07

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

Στην κανονική μου βάση είναι περισσότερα τα πεδία που θέλω να ενημερώνω και είναι ένα το πεδίο που μπορεί να μην έχει καθόλου τιμή.
θα κάνω τις αλλαγές, πιστεύω να τα καταφέρω.
και μια χάρη
μπορείς να μου εξηγήσεις τον λόγο που έβαλες την εντολή replace στο πεδίο τίτλος
και την format στην ημερομηνία;
ευχαριστώ.
φιλικά παναγιώτης

kapetang 04-08-17 18:54

Καλησπέρα

1) Στην Access δεν απαιτείται κώδικας για να ενημερωθεί ο υποκείμενος πίνακας.

Αρκεί να μετακινηθούμε σε άλλη εγγραφή, να πατήσουμε το κουμπί, της κορδέλας, Save (ομάδα Records), ή να κλείσουμε τη φόρμα.

2) Δεν υπάρχει λόγος να έχεις δύο όμοιους πίνακες ERGA και ERGA2.

Πάντως αν θέλεις να περνάς τις εγγραφές του ERGA και στον ERGA2, ο απλούστερος τρόπος είναι:
  • Να δημιουργήσεις ένα ερώτημα που θα διαγράφει τις εγγραφές του ERG2 και .
  • Ένα ερώτημα προσθήκης που θα προσαρτά τις εγγραφές του ERGA στον ERG2.
Μπορείς να τρέχεις τα ερωτήματα με απλό κώδικα στο κλείσιμο της φόρμας.

3) Τα εισαγωγικά στην VBA έχουν ειδικό ρόλο. Ορίζουν την αρχή και το τέλος μιας κυριολεκτικής συμβολοσειράς.

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

Αυτό γίνεται με τη συνάρτηση Replace.

4) Η ημερομηνία σε μια πρόταση SQL, στον κώδικα, πρέπει να περιέχεται σε # και να έχει μορφή USA (m/d/yyyy).

octapus 05-08-17 10:23

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

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

kapetang 05-08-17 14:17

Η Αccess ας δίνει τη δυνατότητα, αν έχουμε μια φόρμα που βασίζεται σε κάποιο πίνακα, εύκολα και χωρίς κώδικα:

1) Να προσθέτουμε εγγραφές.

2) Να διαγράφουμε εγγραφές.

3) Να τροποποιούμε εγγραφές

4) Να ταξινομούμε και να φιλτράρουμε τις εγγραφές όπως επιθυμούμε, κλπ.

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

Συμπέρασμα: Δε χρειάζεται κανένας βοηθητικός πίνακας για την επεξεργασία κάποιας εγγραφής.

octapus 07-08-17 13:49

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

http://www.ms-office.gr/forum/access...me-filtro.html
__________________________________________________ _____________________________
octapus Ο χρήστης octapus είναι συνδεδεμένος
Όνομα: Παναγιώτης
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική

13-08-15, 16:26
Μηνύματα: 59
Προεπιλογή Φόρμα περιήγησης με φίλτρο
χαιρετώ

ερώτηση 1
θα ανοίγω την form1 και θα κάνω διπλό κλικ στο Αναγνωριστικό και θα ανοίγει
μια φόρμα περιήγησης η basicform.
Αυτό που θέλω είναι να ανοίγει η φόρμα περιήγησης και σε κάθε φύλλο που θα ανοίγω σε αυτήν
να παρουσιάζει τα στοιχεία της εγγραφής που έκανα διπλό κλικ
έχω βάλει ένα πρόχειρο υπόδειγμα
δηλαδή θα κάνω διπλό κλικ στο αναγνωριστικό 3 και στην φόρμα περιήγισης να μου φέρνει
στο πρώτο φύλλο την φόρμα με τα πεδία που έχουν Αναγνωριστικό 3 στο δεύτερο φύλλο
την έκθεση με τα πεδία που έχουν Αναγνωριστικό 3 και πάει λέγοντας
__________________________________________________ __________________________

θα δοκιμάσω να το λύσω το θέμα με ερώτημα

το δεύτερο ερώτημα το έχουμε λύσει.

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


Η ώρα είναι 23:09.

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


Search Engine Optimization by vBSEO 3.3.2