Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ερωτήματα ] Ενημέρωση με βάση τα πρώτα 3 ψηφία

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 25-04-16, 11:08
Όνομα: Βαγγέλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Περιοχή: ΠΑΤΡΑ
Μηνύματα: 78
Προεπιλογή Ενημέρωση με βάση τα πρώτα 3 ψηφία

Καλημέρα σας,
Έχω έναν πίνακα με 2 στήλες (SKU, PARENT)
Στο πεδίο SKU για παράδειγμα έχω τις παρακάτω τιμές

SKU
131-1
131-2
131-4
131
121-5
121-9
1555
1556


Τώρα... Θέλω να δημιουργήσω ένα ερώτημα ενημέρωσης ή όπου όταν τα 3 πρώτα ψηφία είναι ίδια από το SKU, τότε στο πεδίο PARENT να καταχωρεί έναν μοναδικό (αύξων) αριθμό ως ομαδοποίηση .

Έτσι το αποτέλεσμα να είναι:


SKU ********** PARENT
131-1 ************ 1
131-2 ************ 1
131-4 ************ 1
131 ************ 1
121-5 ************ 2
121-9 ************ 2
1555 ************ 3
1556 ************ 3


Παρακαλώ βοηθήστε με ως προς την σύνταξη του ερωτήματος γιατι δεν έχω κατανοήσει πως μπορώ να "τσιμπάω" και να ελέγχω τα συγκεκριμένα ψηφία (τα πρώτα 3, τα πρώτα 5 κ.λ.π.)

Σας ευχαριστώ πολύ!!
Απάντηση με παράθεση
  #2  
Παλιά 25-04-16, 14:24
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Βαγγέλη η υλοποίηση του ζητούμενου, νομίζω ότι δεν μπορεί να γίνει με ένα απλό ερώτημα.

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

Κώδικας:
Private Sub cmdGroup_Click()
    Dim rs As DAO.Recordset, x(999) As Long, i As Long, j As Long

    On Error GoTo errHandler

    'Το tblData να αντικατασταθεί με το πραγματικό όνομα του πίνακα
    Set rs = CurrentDb.OpenRecordset("tblData")
    With rs
        If .RecordCount Then
            .MoveFirst
            Do Until .EOF
                .Edit
                j = Val(Left(!SKU, 3))
                If x(j) = 0 Then
                    i = i + 1: x(j) = i
                End If
                ![Parent] = x(j)
                .Update
                .MoveNext
            Loop
            MsgBox "Η ενημέρωση ολοκληρώθηκε"
        End If
    End With

exitSub:
    Set rs = Nothing
    Exit Sub
errHandler:
    MsgBox "Error: " & Err.Number & vbCrLf & Err.Description
    Resume exitSub

End Sub
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 25-04-16, 16:48
Όνομα: Βαγγέλης
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Περιοχή: ΠΑΤΡΑ
Μηνύματα: 78
Προεπιλογή

Καλησπέρα Φίλε μου!
Σε ευχαριστώ πάρα πολύ! Δουλεύει άψογα.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Πίνακες ] Αντιγραφή πινάκων από τρέχουσα βάση σε νέα βάση apostolos Access - Ερωτήσεις / Απαντήσεις 11 04-03-16 22:43
[ Ερωτήματα ] Δεκαδικά ψηφία σε ερώτημα teo1976 Access - Ερωτήσεις / Απαντήσεις 2 30-12-14 12:04
Αυτοματη ενημερωση πεδιου βαση τελευταιας εγγραφης tzvangel Access - Ερωτήσεις / Απαντήσεις 4 31-10-14 16:11
[Μορφοποίηση] Πως μπορώ να επιλέξω μόνο τα ψηφία από ένα κελί; ManiaM Excel - Ερωτήσεις / Απαντήσεις 5 17-01-14 14:31
[Excel07] Πρώτα Επώνυμο και μετά Όνομα σε μια στήλη topmail Excel - Ερωτήσεις / Απαντήσεις 5 19-12-12 23:05


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