Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Πρόβλημα με κώδικα με πολλά If
Καλημέρα, Αντιμετωπίζω ένα περίεργο πρόβλημα στο οποίο ειλικρηνά δεν μπορώ να βρώ άκρη τι μπορεί να φταεί. Το πρόβλημα έχει ώς εξής: Έχω τον πιο κάτω κώδικα ο οποίος χρησιμεύει στην ουσία για την εύρεση του σειριακού αριθμού του υπολογιστή, και εάν και εφόσον δηλωθεί (στον κώδικα) ένας σειριακός αριθμός σαν administrator πρέπει να παρακάμπτει όλες τις σχετικές διαδικασίες και να προχωρά στο άνοιγμα της φόρμας frmStartupScreen. Αν και ο κώδικας δουλεύει, εντούτις κάποιες φορές (όχι πάντα) αντί κατά το άνοιγμα της βάσης να εμφανίσει το σχετικό μήνυμα "Welcome Administrator" (εφόσον αναγωρισθεί ο υπολογιστής που έχει καταχωρηθεί ώς administrator ) αφήνει ενελώς κενή την οθώνη του υπολογιστή στο περιβάλλον access (μπλέ) και πρέπει να κάνω έστω και ένα κλικ οπουδήποτε έτσι ώστε να εμφανίσει το σχετικό μύνυμα για να μπορέσω να μπώ στο πρόγραμμα.. Μήπως είναι κάτι που σχετίζεται με τον υπολογιστή μου? Μήπως καλό θα ήταν αντί ο κώδικας να είναι γραμμένος με If να ήταν καλύτερα με Case? Παραθέτω αυτούσιο τον κωδικα Public Function CheckVolumeSerialNumber1() Dim S, Serial As Long, VName As String, FSName As String, strSQL As String VName = String$(255, Chr$(0)) FSName = String$(255, Chr$(0)) GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255 VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1) FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1) Serial = Replace(Trim(Str$(Serial)), "-", "") ' εύρεση σειριακού αριθμού του υπολογιστή και δήλωση του ώς S S = Serial Dim SVNnumber As String Dim sSQL As String 'Wipe the existing data from tblSVN sSQL = "DELETE * FROM tblSVN;" CurrentDb.Execute sSQL, dbFailOnError If S = 2032771935 And Forms!MasterForm.FirstInstallation = True Then MsgBox "CheckVolumeSerialNumber1 - Welcome adninistrator", vbExclamation, "Administrator Login" Forms!MasterForm.SVNA = S Forms!MasterForm.Pc3 = True DoCmd.OpenForm "frmStartupScreen" End If If S <> 2032771935 And Forms!MasterForm.FirstInstallation = True Then strSQL = "INSERT INTO tblSVN (SvnNumber,DateAdded) VALUES(" & _ Serial & ", #" & Format(Now(), "m/d/yyyy mm:ss") & "#)" CurrentDb.Execute (strSQL) Forms!frmSVN.Refresh MsgBox "Παρακαλώ καταχωρείστε τα προσωπικά σας στοιχεία ", vbInformation, "Νέος χρήστης" DoCmd.OpenForm "frmAddOwner", acNormal End If If S = 2032771935 And Forms!MasterForm.TrialMode = True Then MsgBox "CheckVolumeSerialNumber1 - Welcome adninistrator", vbExclamation, "Administrator Login" Forms!MasterForm.SVNA = S Forms!MasterForm.Pc3 = True Forms!MasterForm.Refresh DoCmd.OpenForm "frmStartupScreen" End If ' Else If S <> 2032771935 And Forms!MasterForm.TrialMode = True Then strSQL = "INSERT INTO tblSVN (SvnNumber,DateAdded) VALUES(" & _ Serial & ", #" & Format(Now(), "m/d/yyyy mm:ss") & "#)" CurrentDb.Execute (strSQL) Forms!frmSVN.Refresh Forms!MasterForm.Refresh ExistSN End If End Sub Σχετικά με το ExistSN Public Sub ExistSN() Dim SN As Variant SN = DLast("SvnNumber", "tblSVN") If Not IsNull(SN) Then If DCount("*", "tblLogSVN", "SvnNumber=" & SN) Then MsgBox " ExistSN - Έχετε δικαίωμα χρήσης σε αυτόν τον υπολογιστή.", vbInformation, "Sports and Nutrition Management System. SN " & SN & " ÕðÜñ÷åé." DoCmd.OpenForm "frmTrialLogin" DoCmd.Close acForm, Me.Name Else If MsgBox("Wrong ExistSN - Μή εξουσιοδοτημένος υπολογιστής", vbYesNo + vbExclamation, " SN " & SN & " - Ακυρο SVN") _ = vbYes Then DoCmd.OpenForm "frmAddSVN" ' DoCmd.Close acForm, Me.Name Else DoCmd.OpenForm "Form1" DoCmd.Close acForm, Me.Name ' End If End If End If End If End Sub |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[VBA] Πρόβλημα με error σε κώδικα | kolekas | Excel - Ερωτήσεις / Απαντήσεις | 3 | 11-05-16 19:14 |
[VBA] Πρόβλημα σε κώδικα | xristos | Excel - Ερωτήσεις / Απαντήσεις | 5 | 16-03-16 17:43 |
Πρόβλημα σε κώδικα vba | ΑΛΕΞΙΑ | Access - Ερωτήσεις / Απαντήσεις | 1 | 12-10-15 16:05 |
Πρόβλημα με κώδικα VBA | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 17 | 08-10-14 16:04 |
Πρόβλημα σε κώδικα | jimrenoir | Access - Ερωτήσεις / Απαντήσεις | 2 | 10-05-11 14:50 |
Η ώρα είναι 00:22.