Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Αλλαγή Property Visible (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3989-allagi-property-visible.html)

anestaki 02-01-16 14:19

Αλλαγή Property Visible
 
Καλησπέρα σε όλους και καλή χρονιά
Σε αναζήτηση στο Forum δεν μπόρεσα να βρω κάτι που θα μπορούσε να με βοηθήσει για να αλλάξω την ιδιότητα σε αντικείμενα της Access, χρησιμοποιώντας
Κώδικας:

DoCmd.SetProperty "demo", acPropertyVisible, "0"
αλλάζω την ιδιότητα αλλά δεν μπορώ να την αποθηκεύσω.
Όποια βοήθεια δεκτή

kapetang 02-01-16 18:51

Καλή χρονιά

Για να αλλάξει μόνιμα η ιδιότητα, θα πρέπει η φόρμα να ανοίξει σε μορφή σχεδίασης, να οριστεί η ιδιότητα και ακολούθως να αποθηκευτεί η φόρμα ή να κλείσει αποθηκεύοντας της αλλαγές.

Δες τον κώδικα:

Κώδικας:

    DoCmd.OpenForm Me.Name, acDesign
    DoCmd.SetProperty "Demo", acPropertyVisible, 0
    DoCmd.Close , , acSaveYes  'ή docmd.Close,,acSaveYes

Φιλικά/Γιώργος

anestaki 02-01-16 19:50

Καλησπέρα Γιώργο
Σε Ευχαριστώ για την άμεση απάντηση.
Σου παραθέτω όλο των κώδικα γιατί ενώ σε νέα φόρμα δουλεύει στην δική μου όχι και δεν μπορώ να καταλάβω το γατί.
Κώδικας:

Private Sub demo_Click()
Dim Res As String
Res = MsgBox("Είστε σίγουρος ότι έχετε κατανόηση την λειτουργιά της εφαρμογής" & vbCrLf & _
"Θα διαγράφουν όλα τα καταχωρημένα στοιχειά από αυτήν." & vbCrLf & _
"ΘΕΛΕΤΕ ΝΑ ΔΙΑΚΟΨΕΤΕ ΤΗΝ ΕΝΕΡΓΕΙΑ ;", vbCritical + vbYesNo, "ΠΡΟΣΟΧΗ !!")
                      'ΑΝ Η ΑΠΑΝΤΗΣΗ ΕΙΝΑΙ ΝΑΙ ΤΟΤΕ ΒΓΑΙΝΕΙ
                            If Res = vbNo Then
                            'Me.Κείμενο19.SetFocus
                           
    With CurrentDb
        .Execute "DELETE tbl_announcements.* FROM tbl_announcements"
        .Execute "DELETE tbl_app_payments.* FROM tbl_app_payments"
        .Execute "DELETE tbl_appartment_announcements.* FROM tbl_appartment_announcements"
        .Execute "DELETE tbl_appartment_contribution.* FROM tbl_appartment_contribution"
        .Execute "DELETE tbl_appartment_usage.* FROM tbl_appartment_usage"
        .Execute "DELETE tbl_appartments.* FROM tbl_appartments"
        .Execute "DELETE tbl_associate.* FROM tbl_associate"
        .Execute "DELETE tbl_associate_pay.* FROM tbl_associate_pay"
        .Execute "DELETE tbl_heating_hours.* FROM tbl_heating_hours"
        .Execute "DELETE tbl_heating_system.* FROM tbl_heating_system"
        .Execute "DELETE tbl_monthly_expenses.* FROM tbl_monthly_expenses"
        .Execute "DELETE tbl_oil_consumption_history.* FROM tbl_oil_consumption_history"
        .Execute "DELETE tbl_oil_measurement.* FROM tbl_oil_measurement"
        .Execute "DELETE tbl_pay_dates.* FROM tbl_pay_dates"
        .Execute "DELETE tbl_tanks.* FROM tbl_tanks"
       
    End With
                            DoCmd.OpenForm Me.name, acDesign
                            DoCmd.SetProperty "demo", acPropertyVisible, "0"
                            DoCmd.Close , , acSaveYes
                            'Application.Quit
                                End If
                                Exit Sub
End Sub


kapetang 02-01-16 20:38

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

Πριν από τη διαγραφή πρόσθεσε τον κώδικα.

On Error resume Next

anestaki 02-01-16 21:34

1 Συνημμένο(α)
Γιώργο όπως φαίνεται στην εικόνα ενώ αλλάζει την ιδιότητα δεν την αποθηκεύει.

kapetang 02-01-16 22:07

Το μηδέν δεν είναι σε εισαγωγικά.

anestaki 03-01-16 09:58

Καλημέρα σε όλους
Γιώργο σε ευχαριστώ πολύ.
Τελικά το έκανα πάλι με την μεσοβέζικη λύση του (IF) στο load τις φόρμας και προ στο παρών λειτουργεί καλά.
Κώδικας:

If DLookup("button", "tbl_heating_system") = 1 Then
Else
Me.demo.visible = False
End If

Αλλά συνεχίζω να έχω το πρόβλημα στου συνδεδεμένους πίνακες για να αριθμήσουν ξανά από το ένα πρέπει να ανοίξει και να κλείσει η βάση στην οποία υπάρχουν.:wall:

kapetang 03-01-16 10:26

Γιώργο σου είπα να αφαιρέσεις τα εισαγωγικά από το μηδέν στην πρόταση:

DoCmd.SetProperty "demo", acPropertyVisible, "0"

Το δοκίμασες;

anestaki 03-01-16 10:48

Καλημέρα Γιώργο ναι και συνέχιζε να μην αποθηκεύεται

kapetang 03-01-16 11:15

Γιώργο όταν το δοκίμασα δούλευε, αλλά, επειδή δεν υπήρχαν οι πίνακες στη βάση μου, είχα μετατρέψει τις εντολές διαγραφής σε σχόλια.
Δεν ξέρω τι συμβαίνει.

anestaki 03-01-16 11:41

Ναι και εγώ το δοκίμασα σε κενή φόρμα και δουλεύει κανονικά
Υπαρχή κάτι για το άνοιγμα και το κλείσιμο της συνδεδεμένης βάσης για το τέλος του κώδικα.

kapetang 03-01-16 14:56

Γιώργο, δοκίμασε τον κώδικα:

Κώδικας:

Dim db As DAO.Database, strFullNameDB As String
   
    'εδώ ορίζεται το πλήρες όνομα της βάσης δεδομένων (για παράδειγμα)
    strFullNameDB = "c:\Anestaki\NameBasis.mdb"
   
    'εδώ ανοίγει η βάση
    Set db = OpenDatabase(strFullNameDB)
   
    'εδώ κλείνει η βάση
    db.Close


anestaki 03-01-16 19:00

Καλησπέρα Γιώργο
Το πρόβλημα μου είναι αυτό "c:\Anestaki\NameBasis.mdb" και μου είναι άγνωστο πως μπορώ να το εμφανίσω με κώδικα
Σε ευχαριστώ εκ των προτέρων για όλη την βοήθεια
Φιλικά Γιώργος


Η ώρα είναι 11:10.

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


Search Engine Optimization by vBSEO 3.3.2