Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Ερωτήματα ] Ενημέρωση με βάση τα πρώτα 3 ψηφία (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/4156-enimerosi-me-basi-ta-prota-3-psifia.html)

tzvangel 25-04-16 10:08

Ενημέρωση με βάση τα πρώτα 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 κ.λ.π.)

Σας ευχαριστώ πολύ!!

kapetang 25-04-16 13:24

Καλησπέρα

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

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

Κώδικας:

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

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

tzvangel 25-04-16 15:48

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


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

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


Search Engine Optimization by vBSEO 3.3.2