Προς το περιεχόμενο

Είσοδος σε φορμα με κωδικό


jamespr

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά γεια σας. Ελπίζω όλοι να είστε καλά και να περνάτε ακόμα καλύτερα.

Ακόμα μία φορά τα βρήκα σκούρα με την Access και τη vba.

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

 

Σας ευχαριστώ πάρα πολύ για το χρόνο σας προκαταβολικά.

Κάθε φορά είστε τέλειοι με τις γνώσεις σας.

 

Private Sub Εντολή41_Click()

On Error GoTo Err_Εντολή41_Click

 

Dim pw As String

pw = InputBox$("Give Access Code", "Access code")

If pw = "Access code" Then

stDocName =????

DoCmd.OpenForm stDocName, , , stLinkCriteria ????

Else

MsgBox "Wrong Access Code"

End If

End Sub

Δημοσ.

Για δοκίμασε:

 

Private Sub Εντολή41_Click()

On Error GoTo Err_Εντολή41_Click

 

Dim pw As String

pw = InputBox$("Give Access Code", "Access code")

If pw = "Access code" Then

stDocName ="Onoma_Formas"

DoCmd.OpenForm stDocName

Else

MsgBox "Wrong Access Code"

End If

End Sub

Δημοσ.

Φίλε σε ευχαρσιτώ πολύ για το χρόνο σου αλλά μου βγάζει λάθος που σαν τίτλο έχει Complile error και μέσα Label not found και κιτρινίζει την πρώη γραμμή. Κάνω κάτι λάθος; Πάω στις ιδιότητες του κουμπιου, με το κλικ, κάνω δόμηση κώδικα, γράφω τον κώδικα αποθηκεύω. Όταν πατάω το κουμπί μου βγάζει το λάθος που σου είπα.

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

Δημοσ.

Έχεις δίκο!

Για δοκίμασε:

 

Private Sub Εντολή41_Click()

 

Dim stDocName As String

Dim stLinkCriteria As String

Dim pw As String

 

stDocName = "Onoma_formas"

pw = InputBox("Give Access Code", "Access Code")

If pw = "mypass" Then

DoCmd.OpenForm stDocName, , , stLinkCriteria

Else

MsgBox "Wrong Access Code"

End If

End Sub

Δημοσ.

Σας ευχαριστώ πάρα πολύ κύριε amorealex κάνει ότι ακριβώς έψαχνα. Προσπαθώ να μάθω αλλά ακόμα θέλω πολύ διάβασμα και χρόνο. Σας ευχαριστώ και πάλι.

 

Μήπως ξέρετε πως μπορώ να απενεργοπποιήσω το shift από το άνοιγμα;

 

Όποια προσπάθεια σε κώδικα και να κάνω βγάζει σφάλμα ούτε τη νοοτροπία δεν μπορώ να βρω.

Σας ευχαρίστώ για το χρόνο σας. Να είστε καλά και περνάτε ακόμα καλύτερα.

Δημοσ.

Σας ευχαριστώ πολύ κύριε amorealex. Προσπαθώ αλλά δεν τα καταφέρνω. Πάω στη vba, tools references και το microsoft dao 3.6 είναι ενεργοποιημένο. Πάω βρίσκω τα αρχεία (*.exe; *.dll)" εκεί που μου λέει C:\Program Files\Common Files\Microsoft Shared\DAO), αλλά δεν καταλαβαίνω τι πρέπει να κάνω όταν λέει "Then explicitly dimension yourcode, i.e. Dim db As DAO.Database, prp As DAO.Property". Τέλος μου ζητάει να βάλω τον κώδικα σε μία δημόσια module. Τι είναι αυτή και πως τη δημιουργώ.

Ακόμα πάω να φτιάξω το κουμπί αλλά χτυπάει λάθος. Λογικά θα ψάχνει τον παραπάνω κώδικα στη δημόσια Module.

 

Ξέρω σας ζάλισα είναι πάρα πολλές απορίες δεν μπορείτε να ασχολείστε μόνο μαζί μου. Όποτε έχετε χρόνο και διάθεση. Έχετε κάνει ήδη πάρα πολλά σας ευχαριστώ και πάλι για το χρόνο σας θα περιμένω τις οδηγίες σας.

Να είστε καλά.

Δημοσ.
Σας ευχαριστώ πολύ κύριε amorealex. Προσπαθώ αλλά δεν τα καταφέρνω. Πάω στη vba, tools references και το microsoft dao 3.6 είναι ενεργοποιημένο. Πάω βρίσκω τα αρχεία (*.exe; *.dll)" εκεί που μου λέει C:\Program Files\Common Files\Microsoft Shared\DAO), αλλά δεν καταλαβαίνω τι πρέπει να κάνω όταν λέει "Then explicitly dimension yourcode, i.e. Dim db As DAO.Database, prp As DAO.Property". Τέλος μου ζητάει να βάλω τον κώδικα σε μία δημόσια module. Τι είναι αυτή και πως τη δημιουργώ.

Ακόμα πάω να φτιάξω το κουμπί αλλά χτυπάει λάθος. Λογικά θα ψάχνει τον παραπάνω κώδικα στη δημόσια Module.

 

Ξέρω σας ζάλισα είναι πάρα πολλές απορίες δεν μπορείτε να ασχολείστε μόνο μαζί μου. Όποτε έχετε χρόνο και διάθεση. Έχετε κάνει ήδη πάρα πολλά σας ευχαριστώ και πάλι για το χρόνο σας θα περιμένω τις οδηγίες σας.

Να είστε καλά.

 

Στο http://support.microsoft.com/kb/826765 τα εξηγεί λίγο καλύτερα. Για το module στον editor της vba κάνεις δεξί κλικ αριστερά στη λίστα στο όνομα της βάσης σου και Insert -> Module

Δημοσ.

Τέλεια όλα δουλεύουν ρολόι όσον αφορά το κομμάτι της απενεργοποίησης του shift.

Προσπαθώ να φτιάξω όμως το κουμπί με τον κωδικό για ενεργοποίηση πάλι

Private Sub bDisableBypassKey_Click()

On Error GoTo Err_bDisableBypassKey_Click

'This ensures the user is the programmer needing to disable the Bypass Key

Dim strInput As String

Dim strMsg As String

Beep

strMsg = "Do you want to enable the Bypass Key?" & vbCrLf & vbLf & _

"Please key the programmer's password to enable the Bypass Key."

strInput = InputBox(Prompt:=strMsg, title:="Disable Bypass Key Password")

If strInput = "TypeYourBypassPasswordHere" Then

SetProperties "AllowBypassKey", dbBoolean, True

Beep

MsgBox "The Bypass Key has been enabled." & vbCrLf & vbLf & _

"The Shift key will allow the users to bypass the startup & _

options the next time the database is opened.", _

vbInformation, "Set Startup Properties"

Else

Beep

SetProperties "AllowBypassKey", dbBoolean, False

MsgBox "Incorrect ''AllowBypassKey'' Password!" & vbCrLf & vbLf & _

"The Bypass Key was disabled." & vbCrLf & vbLf & _

"The Shift key will NOT allow the users to bypass the & _

startup options the next time the database is opened.", _

vbCritical, "Invalid Password"

Exit Sub

End If

Exit_bDisableBypassKey_Click:

Exit Sub

Err_bDisableBypassKey_Click:

MsgBox "bDisableBypassKey_Click", Err.Number, Err.Description

Resume Exit_bDisableBypassKey_Click

End Sub

αλλά τίποτα. Μετά προσπαθώ με το δεύτερο κομμάτι του κώδικα

Function ap_EnableShift()

'This function enables the SHIFT key at startup. This action causes

'the Autoexec macro and the Startup properties to be bypassed

'if the user holds down the SHIFT key when the user opens the database.

 

On Error GoTo errEnableShift

 

Dim db As Database

Dim prop As Property

Const conPropNotFound = 3270

 

Set db = CurrentDb()

 

'This next line of code disables the SHIFT key on startup.

db.Properties("AllowByPassKey") = True

 

'function successful

Exit Function

 

errEnableShift:

'The first part of this error routine creates the "AllowByPassKey

'property if it does not exist.

If Err = conPropNotFound Then

Set prop = db.CreateProperty("AllowByPassKey", _

dbBoolean, True)

db.Properties.Append prop

Resume Next

Else

MsgBox "Function 'ap_DisableShift' did not complete successfully."

Exit Function

End If

 

End Function

πάλι τίποτα έτσι κλειδώνομαι έξω.... τι να κάνω;

Ευτυχώς δούλευα σε αντίγραφο.

Περιμένω οδηγίες προς τα παρών μόνο το κλείδωμα ξέρω να κάνω...

Σας ευχαριστώ πάρα πολύ για όλα

Δημοσ.

Τα κατάφερα....

έβαλα το πρώτο καμμάτι του κώδικα που είναι στη σελίδα http://support.microsoft.com/kb/826765 σε μία module, μετά αυτό σε μία μακροεντολή και αυτή σε ένα κουμπί. Το ίδιο έκανα με το δεύτερο κομμάτι και σε άλλο κουμπί. Με το ένα κλειδώνει το shift και με το αλλο το ξεκλειδώνει.

Σας ευχαριστώ πολύ όλους για τη βοήθειά σας και κυρίως για το χρόνο σας.

Θα προσπαθήσω να μάθω και άλλα και αν έχω απορίες οι γνώσεις σας ειναι πάντα εδώ για λύσεις.

Και πάλι σας ευχαριστώ. Να περνάτε όλοι καλά με υγεία

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...