Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Ορθότητα λογαριασμού ΔΕΗ

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 17-03-12, 12:51
Όνομα: ΧΡΗΣΤΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-11-2010
Περιοχή: ΣΙΔΗΡΟΚΑΣΤΡΟ ΣΕΡΡΩΝ
Μηνύματα: 9
Προεπιλογή Ορθότητα λογαριασμού ΔΕΗ

Καλησπέρα σε όλους!


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


Στον Ήφαιστο έχει τον παρακάτω κώδικα σε js και ήθελα αν είναι εύκολο να γίνει σε Αccess - φαντάζομαι είναι - αλλά...


ο κώδικας του Ήφαιστου:


Παίρνουμε τα πρώτα 11 ψηφία.
Διαιρούμε με το 11, με ακέραια διαίρεση, και κρατάμε το υπόλοιπο (διαίρεση modulo 11)
Εαν το υπόλοιπο είναι <10, τότε αυτό είναι το ψηφίο ελέγχου.
Εαν το υπόλοιπο είναι 10, τότε το ψηφίο ελέγχου είναι η μονάδα (1)

Παρατίθεται ο κώδικας σε Javascript, για διευκόλυνση σας :

function check_deh_id(deh_id)

{

if (deh_id.length!=12) return false;

var i=parseInt(deh_id.slice(0,11), 10) % 11;

if (i==10) i=1;

return deh_id.slice(11,12)==i ? true : false;
ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗΝ ΦΙΛΟΞΕΝΙΑ
ΧΡΗΣΤΟΣ ΣΟΦΙΑΔΗΣ

Τελευταία επεξεργασία από το χρήστη Tasos : 17-03-12 στις 14:43. Αιτία: Μετατροπή κεφαλαίων σε πεζά (Δεν επιτρέπονται κεφαλαία στα μηνύματα).
Απάντηση με παράθεση
  #2  
Παλιά 18-03-12, 09:47
Όνομα: Γιώργος
Έκδοση λογισμικού 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. Αιτία: προσθήκη γραμμής για το ερώτημα
Απάντηση με παράθεση
  #3  
Παλιά 18-03-12, 19:15
Όνομα: ΧΡΗΣΤΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-11-2010
Περιοχή: ΣΙΔΗΡΟΚΑΣΤΡΟ ΣΕΡΡΩΝ
Μηνύματα: 9
Προεπιλογή ΕΥΧΑΡΙΣΤΩ

Σε ευχαριστώ για την βοήθεια στο Εxcel το είχα κάνει αλλά θέλω να βάλω τον κώδικα μέσα σε υπάρχουσα βάση που χρησιμοποιώ για τον Ήφαιστο.

Πάντως όπως και να χει ευχαριστώ.

Ευχαριστώ και πάλι.

Σοφιάδης Χρήστος

Στέλνω και το αρχείο στο Excel
Συνημμένα Αρχεία
Τύπος Αρχείου: xls DEH.xls (23,5 KB, 60 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη Tasos : 18-03-12 στις 21:41.
Απάντηση με παράθεση
  #4  
Παλιά 18-03-12, 21:47
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Αγαπητέ Χρήστο, σε παρακαλώ μην γράφεις με κεφαλαία στα μηνύματα σου (ήδη σου έχω διορθώσει 2 μηνύματα).

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #5  
Παλιά 19-03-12, 19:05
Όνομα: ΧΡΗΣΤΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-11-2010
Περιοχή: ΣΙΔΗΡΟΚΑΣΤΡΟ ΣΕΡΡΩΝ
Μηνύματα: 9
Προεπιλογή

Συγγνώμη καποτε θα μάθω και η πλακα είναι οταν εστελνα το μήυνυμα ειπα ας συμορφωθώ για να μην φαω κιτρινη κάρτα. Κανονικα ειμαι για κοκκινη αλλα ο αγωνας ειναι φιλικός
φιλικα
Σοφιαδης Χρήστος
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] ΠΡΟΟΔΕΥΤΙΚΗ ΚΙΝΗΣΗ ΛΟΓΑΡΙΑΣΜΟΥ billkar Access - Ερωτήσεις / Απαντήσεις 3 07-10-14 11:13
[ Φόρμες ] ΠΡΟΟΔΕΥΤΙΚΗ ΚΙΝΗΣΗ ΛΟΓΑΡΙΑΣΜΟΥ pdhmos Access - Ερωτήσεις / Απαντήσεις 31 21-02-12 13:22
[ Συναρτήσεις ] Έλεγχος Εγκυρότητας λογαριασμού ΙΒΑΝ ΤΖΙΜΗΣ Access - Ερωτήσεις / Απαντήσεις 7 03-10-11 21:12


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