Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] ΚΛΕΙΣΤΗ ΕΓΓΡΑΦΗ (ΑΝΕΝΕΡΓΗ) (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/570-kleisth-eggrafh-anenergh.html)

nhmertis 28-04-10 12:57

ΚΛΕΙΣΤΗ ΕΓΓΡΑΦΗ (ΑΝΕΝΕΡΓΗ)
 
καλημερα.
θα ηθελα να μαθω αν μπορω σε μια φορμα να κανω μερικες εγγραφες κλειστες, δηλαδη ενω θα μπορω να της βλεπω να μην μπορω να κανω καμια παρεμβαση.
για παραδειγμα εχω διαφορα ειδη που ειναι πουλημενα και υπαρχει πεδιο που του βαζω αυτην την τιμη η οτι ειναι ελευθερο.
θελω οσες εγγραφες εχουν στο πεδιο αυτο οτι ειναι πουλημενο να μην μπορω να πειραξω/αλλαξω τιποτα.
μπορει να γινει αυτο ?
ευχαριστω

Meteora 28-04-10 18:32

Καλησπέρα...
Αν έχεις την καλοσύνη συμπλήρωσε το προφίλ σου με κάποιο όνομα. Νομίζω ότι όποιος φίλος αφιερώσει λίγο απο τον χρόνο του αξίζει να ξέρει σε ποιον απευθύνεται...
Εντελώς φιλικά / Νίκος Δ.

Meteora 29-04-10 14:46

Καλημέρα...

Μαρία θα έκανα χρήση του κώδικα:

Private Sub Form_Current()
tseka
End Sub


Private Sub tseka()
if [ Logiko]=-1
Me.AllowEdits = False
Else
Me.AllowEdits = True
End If
End Sub


Όπου [Logiko] ειναι ένα πεδίο τύπου ΝΑΙ/ΟΧΙ που προσθέτω στον πίνακα και εμφανίζω στη φόρμα, ώστε να επιλέγω ποιες εγγραφές θα επιδέχονται διόρθωση και ποιές όχι..

Όταν πάλι είμαστε κατάσταση παρουσίασης εγγραφής με φόρμα, αν θελήσουμε να αλλάξουμε την κατάσταση (διόρθωση - μή διόρθωση), τότε πρέπει να προστεθεί :
Private Sub Logiko_Enter()
If [Logiko] = -1 Then
[Logiko] = 0
Me.AllowEdits = True
Else
[Logiko] = -1
Me.AllowEdits = False
End If
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdSave
End Sub

Δοκίμασε αυτά που περιγράφω. Μη διστάσεις να ρωτήσεις οτιδήποτε. Ειναι βέβαιο οτι στο Forum αυτό εδώ θα βρεις τις απαντήσεις που χρειάζεσαι.
Ελπίζω να βοήθησα... /Νίκος Δ.

nhmertis 30-04-10 10:02

"παιδικες" ερωτησεις
 
καλημερα. ευχαριστω πολυ για την απαντηση
μερικες ερωτησεις γιατι δεν ειμαι πολυ εξοικειωμενη με τους κωδικες


ολο αυτο που ακολουθε το γραφω στο φυλλο ιδιοτητων της φορμας μετα συμβαν αλλα μετα σε ποια απο ολες τις επιλογες ????
Private Sub Form_Current()
tseka
End Sub


Private Sub tseka()
if [ Logiko]=-1
Me.AllowEdits = False
Else
Me.AllowEdits = True
End If
End Sub


Όπου [Logiko] ειναι ένα πεδίο τύπου ΝΑΙ/ΟΧΙ που προσθέτω στον πίνακα και εμφανίζω στη φόρμα, ώστε να επιλέγω ποιες εγγραφές θα επιδέχονται διόρθωση και ποιές όχι..

το πεδιο [λογικο] που γραφεις μηπως θα μπορουσαμε να το παραλειψουμε και αντι γι αυτο να παιρνει τις τιμες απο ενα αλλο πεδιο που εχω ετοιμο που παιρνει διαφορες τιμες και μεσα σε αυτες ειναι και τη τιμη "πουλημενο" και οταν ειναι πουλημενο να κλεινει η εγγραφη ενω αν εχει ολες τις αλλες επιλογες να ειναι ανοιχτη η εγγραφη ?

σορρυ για τις "παιδικες" ερωτησεις αλλα στα θεματα κωδικων τωρα μαθαινω και ολα αυτα απο μονη μου ψαχνοντας και ρωτωντας οπου βρισκω ανοιχτα αυτια να με ακουσουν
ευχαριστω





Όταν πάλι είμαστε κατάσταση παρουσίασης εγγραφής με φόρμα, αν θελήσουμε να αλλάξουμε την κατάσταση (διόρθωση - μή διόρθωση), τότε πρέπει να προστεθεί :
Private Sub Logiko_Enter()
If [Logiko] = -1 Then
[Logiko] = 0
Me.AllowEdits = True
Else
[Logiko] = -1
Me.AllowEdits = False
End If
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdSave
End Sub

Δοκίμασε αυτά που περιγράφω. Μη διστάσεις να ρωτήσεις οτιδήποτε. Ειναι βέβαιο οτι στο Forum αυτό εδώ θα βρεις τις απαντήσεις που χρειάζεσαι.
Ελπίζω να βοήθησα... /Νίκος Δ.[/QUOTE]

Tasos 30-04-10 11:32

1 Συνημμένο(α)
Αγαπητή Μαρία,

Η παρακάτω πρόταση μου προϋποθέτει:
  • Ενα πεδίο με το όνομα ProductDescription
  • Ενα πεδίο με το όνομα ProductPrice
  • Ενα πεδίο με το όνομα IsSold (Ναι/Όχι)
Ο κώδικας στη φόρμα:

Κώδικας:

Option Compare Database
Option Explicit
Private Is_Sold%

Private Sub Form_Current()
    Is_Sold = Me.IsSold
    Me.ProductDescription.Locked = Is_Sold
    Me.ProductPrice.Locked = Is_Sold
End Sub

Private Sub IsSold_Click()
    Form_Current
End Sub

Θα μπορούσες επίσης, αντί για VBA (αν σε ικανοποιεί το οπτικό αποτέλεσμα) να εφαρμόσεις Μορφοποίηση υπό όρους στα πεδία που θέλεις να κλειδώσεις
χρησιμοποιώντας την Έκφραση "[IsSold]" (βλ. εικόνα).

Συνημμένο Αρχείο 385

Φιλικά

Τάσος

Meteora 30-04-10 15:32

1 Συνημμένο(α)
Καλημέρα ...
Μαρία, ανεβάζω μια δοκιμαστική βάση για να δεις πως είναι τοποθετημένος ο κώδικας που πρότεινα. Δες σε ποιά συμβάντα και ποιανού αντικειμένου έχουν τοποθετηθεί τα διάφορα τμήματα. Πιστεύω ότι έτσι θα βοηθηθείς, βλέποντας πως η VBA υποστηρίζει την Access. Αν πάλι έχεις κάποια ερωτηματικά, κάνε την όποια ερώτηση και θα έχεις απάντηση. Αρκετά μέλη του Forum έχουν περάσει απο το στάδιο όπου βρίσκεσαι και είναι βέβαιο οτι θα σε βοηθήσουν.
Στη συνέχεια, δούλεψε πάνω στην προβληματική του Τάσου. Φτιάξε αυτά που προτείνει. Είναι σφόδρα καλύτερος εμού στην Access...στην κβαντική υστερεί λίγο!
Με εκτίμηση / Νίκος Δ.

nhmertis 30-04-10 15:48

Ευχαριστω πολυ για τις απαντησεις σας.θα τα κοιταξω καλυτερα το σ/κ.
Τασο αυτο με την μορφοποιηση υπο ορους το εχω ηδη χρησιμοποιηση αλλα δεν ειναι αυτο που θελω.
Νικο ειδα την βαση που μου εστειλε και ειναι αυτο που ψαχνω μονο που πρεπει να κανω ενα πεδιο ναι/οχι και αυτο θα μου παρει χρονο.
θα κοιταξω και του Τασου και θα σας ενημερωσω.
καλο σ/κ

nhmertis 03-05-10 11:32

καλο μηνα
 
καλημερα.
τελικα χρησιμοποιησα την λυση του Νικου διοτι χρειαζονταν πιο λιγα πραγματα να κανω.
αφου εφτιαξα ενα νεο πεδιο που το ονομασα κλειστο και του δινω της τιμες ναι η οχι (δεν ειναι check box)
και δουλευει ολη η φορμα σουπερ το μονο θεμα που εχω ειναι οτι οταν παω να αλλαξω την κατασταση του πεδιου κλειστο απο ναι σε οχι η και το αντιστροφο μου πεταει το παρακατω μηνυμα παντα

run time error "424"
object required

καμια προταση για εξαφανιση του ?
ευχαριστω

Meteora 03-05-10 20:48

Καλησπέρα...
Μαρία αυτό το λάθος (error 424) -όπως είδα- εμφανίζεται σε 4-5 διαφορετικές περιπτώσεις. Η πρότασή μου :
Κάνεις πιστή μεταφορά του τρόπου που ανέπτυξα στη βάση που ανέβασα ή ανεβάζεις τη δική σου για να δούμε ή κάνεις χρήση των όσων έγραψε ο Τάσος ή ...
Με εκτίμηση / Νίκος Δ.

editolis 04-05-10 02:20

Το πρόβλημα δεν είναι ο κώδικας (για τις περισσοτερες περιπτωσεις) αλλα είναι ότι η Visual Basic δεν αναγνωρίζει τη φόρμα σου Μαρια.

Στην πραγματικότητα, η Visual Basic Editor δεν αναγνωρίζει τη μορφή έως ότου γίνει επίκληση του κώδικα δόμησης (για τη φόρμα ή οποιοδήποτε άλλο αντικείμενο στη φόρμα σας) τουλάχιστον μία φορά.

Η Λυση ειναι να ανοιξεις την φορμα μια φορα σε μορφη σχεδιασης και να πας να κανεις πχ κατι στο OnOpen. Δεν χρειαζεται να κανεις τιποτα αλλο. Μετα κανε compile και αποθηκευση.

Καλη συνεχεια...


Η ώρα είναι 12:58.

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


Search Engine Optimization by vBSEO 3.3.2