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/2102-enimerosi-pedioy-me-oroys.html)

gmax 09-10-12 10:59

Ενημέρωση πεδίου με όρους
 
1 Συνημμένο(α)
Καλημέρα σε όλους
Προστρέχω για μια ακόμη φορά στη βοήθειά σας.
Έχω μια φόρμα αυτόματης κλήρωσης (με βοηθήσατε εσείς γι' αυτήν) στην οποία πρόσθεσα ένα πεδίο "ΣΕΙΡΑ" το οποίο θέλω να ενημερώνεται ανάλογα με τον αριθμό διαδρομής. Δηλ., αν η διαδρομή είναι 1,2 και 3 η σειρά να είναι "Α", αν είναι 4,5,6, η σειρά να είναι "Β" και ούτω καθ' εξής. Η ενημέρωση του πεδίου "ΣΕΙΡΑ" θέλω να γίνεται κάθε φορά που πατάω το κουμπί "ΚΛΗΡΩΣΗ". Για την ευκολία σας ανεβάζω τη φόρα. Ευχαριστώ πολύ.
Με εκτίμηση Γιώργος
Υ.Γ. Το προηγούμενο θέμα που είχε σχέση με το θέμα αυτό το έκλεισα. Έκανα καλά ή είναι κάτι που το κάνουν οι διαχειριστές;

ασχετος 09-10-12 11:16

Καλημέρα στο Forum,

Γιώργο,

Αν κατάλαβα ανά τρείς συνεχόμενες διαδρομές η σειρά θα παιρνει ένα γράμμα,
δηλ. 1,2,3 - Α --- 4,5,6 - Β --- 6,7,8 - Γ .... 22,23,24 - Θ ;

gmax 09-10-12 11:40

Ακριβώς φίλε Κώστα
1,2,3, Α, 4,5,6, Β, 7,8,9, Γ. Μέχρι το 30 το πολύ, αν και πιστεύω ότι θα είναι εύκολο μετά να το τροποποιήσω.

Tasos 09-10-12 15:33

Καλησπέρα σε όλους!
Αγαπητέ Γιώργο σε υπολογισμένο πεδίο δοκίμασε:

=IIf([ΑρΚλήρωσης] Is Null;Null;ChrW$(Int([ΑρΚλήρωσης]/3)+Abs([ΑρΚλήρωσης] Mod 3<>0)+912))


όπου [ΑρΚλήρωσης] είναι το όνομα του πεδίου της φόρμας σου που παίρνει τα δεδομένα του από το πεδίο [ΔΙΑΔΡΟΜΗ] του πίνακα :001_unsure:

Σε περιβάλλον VB:

Κώδικας:

Function GetGroup(Course As Variant) As Variant 'Course = το πεδίο της φόρμας [ΑρΚλήρωσης]
    If Not IsNull(Course) Then
        GetGroup = ChrW$(Int(Course / 3) + Abs(Course Mod 3 <> 0) + 912)
    Else
        GetGroup = Null
    End If
End Function

Καλή συνέχεια!

Τάσος

gmax 09-10-12 18:59

Καλησπέρα σε όλους,
Τάσο δοκίμασα τη συνάρτηση στο πεδίο [ΣΕΙΡΑ] και δουλεύει μια χαρά. Πως όμως θα ενημερώσω τον πίνακά μου όμως αφού έγινε πλέον αδέσμευτο; Και αυτή είναι μια γενικότερη απορία μου. πως ένα αδέσμευτο πεδίο ενημερώνει έναν πίνακα.
Όσο για τον κώδικα, δεν τον δοκίμασα γιατί δεν ξέρω που πρέπει να "κάτσει".
Ευχαριστώ πολύ

ασχετος 09-10-12 19:38

1 Συνημμένο(α)
Καλησπέρα σ' όλους

Γιώργο σε περίπτωση που θέλεις
το πεδιο 'Σειρά' να ενημερώνετε
με το πάτημα του κουμπιού 'ΚΛΗΡΩΣΗ'

κοίτα αν σου κάνει το επισυναπτόμενο

gmax 09-10-12 20:06

Κώστα το είδα αλλά δεν δουλεύει όπως θέλω. Στις Κορασίδες τα έκανε όλα "Α" και στους Παίδες 2 "Α" και 2 "Β".
Ευχαριστώ για την προσπάθεια.

ασχετος 09-10-12 20:20

Γιώργο,

στην μεταβλητή sql, μέσα στον κώδικα
του κουμπιού 'Κλήρωση', σβήσε τον από το
ισον και πέρα και βάλε αυτόν

Κώδικας:

.....

    On Error Resume Next
   
    If IsNull(Me.Σύνθετο_πλαίσιο9) Then Exit Sub

    sql = "Select *" & _
          "  From [Πίνακας1]" & _
          "Where [ΠΛΗΡΩΜΑ]='" & Me.Σύνθετο_πλαίσιο9 & "'" & _
          "Order by [ΔΙΑΔΡΟΜΗ]"

αν το Σύνθετο_πλαίσιο9 είναι κενό θα βγάλει run time error

gmax 09-10-12 20:34

Άψογος!
Ευχαριστώ πολύ!
Καλό βράδυ σε όλους.

Tasos 09-10-12 22:57

Καλησπέρα! Αν μου επιτρέπετε:

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

Κώδικας:

CurrentDb.Execute "UPDATE Πίνακας1 SET Πίνακας1.ΣΕΙΡΑ = ChrW$(Int([ΔΙΑΔΡΟΜΗ]/3)+ Abs([ΔΙΑΔΡΟΜΗ] Mod 3<>0)+912)"
και πρέπει να μπει πριν από την γραμμή Me.Refresh (τελευταία γραμμή).

Καλό βράδυ!

Τάσος


Η ώρα είναι 08:17.

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


Search Engine Optimization by vBSEO 3.3.2