Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 18-03-12, 09:47
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Χρήστο, στην επισυναπτόμενη ΒΔ υπάρχουν δύο προσεγγίσεις υλοποίησης του αλγόριθμου ελέγχου της εγκυρότητας του κωδικού πληρωμής των λογαριασμών της ΔΕΗ.

1. Η πρώτη γίνεται με VBA και συγκεκριμένα με τη συνάρτηση:

Κώδικας:
Public Function chcNumDEH(x As Variant) As Variant
    '================================================================
    'Ελέγχει την εγκυρότητα του κωδικού πληρωμής των λογαριασμών ΔΕΗ
    '================================================================
    Dim j As Long
    If IsNull(x) Then
        chcNumDEH = Null
        Exit Function
    End If
    If Len(x) <> 12 Or Not IsNumeric(x) Then
        chcNumDEH = False
        Exit Function
    End If
    j = Left(x, 11) - Int(Left(x, 11) / 11) * 11
    If j = 10 Then j = 1
    chcNumDEH = j = Right(x, 1)
End Function
2. Η δεύτερη γίνεται με την ακόλουθη έκφραση της access:

Κώδικας:
Right([numDEH];1)=IIf(IIf(Len([numDEH])=12 And IsNumeric([numDEH]);
Left([numDEH];11)-Int(Left([numDEH],11)/11)*11;15)=10;1;
IIf(Len([numDEH])=12 And IsNumeric([numDEH]);
Left([numDEH];11)-Int(Left([numDEH];11)/11)*11;15))
Στην έκφραση ο κωδικός αποθηκεύεται στο πεδίο «numDEH»

Στο ερώτημα «qryTest» υπάρχουν και οι δύο λύσεις.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb CheckDEH.mdb (304,0 KB, 90 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 18-03-12 στις 09:54. Αιτία: προσθήκη γραμμής για το ερώτημα
Απάντηση με παράθεση