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/1763-enimerosi-pedioy-meso-boithitikis-formas.html)

Χρήστος 31-03-12 22:03

Ενημέρωση Πεδίου μέσω βοηθητικής Φόρμας
 
Καλησπέρα στη παρέα.
Ζητώ την βοήθειά σας στο εξής:
Στην βάση-δείγμα και στην φόρμα που θα ανοίξει (frmCenter), μέσω του combobox (cboSelect) επιλέγω τιμές για το πεδίο Select.

Το εν λόγω cboSelect έχει τη δυνατότητα επεξεργασίας λίστας οπότε και ανοίγει μια βοηθητική φόρμα (frmSelectFrom).

Ακριβώς σ' αυτό το σημείο θα ήθελα να μπορώ να κάνω τα εξή δυο πράγματα.
1. Στην κορυφή, στο Φίλτρο, να φιλτράρονται οι εγγραφές της βοηθητικής φόρμας κάνοντας την αντίστοιχη επιλογή και
2. Στο τέλος, στο κουμπί Εισαγωγή, όταν το πατώ και αφού έχω επιλέξει μια εγγραφή, να την εισαγάγει στο πεδίο Select της ανοιχτής φόρμας frmCenter και να κλείνει την βοηθητική φόρμα frmSelectFrom.

Χρήστος 31-03-12 23:55

Λειτουργεί ...
Πείτε μου τι χρειάζεται να διορθώσω.

Χρήστος 01-04-12 08:32

Καλημέρα στην Κονότητα.
Στην Φόρμα που ανοίγει (frmCenter) έτσι και πληκτρολογήσουμε μια τιμή που δεν υπάρχει στην λίστα απαντά με μήνυμα για το αν θέλουμε να επεξεργαστούμε την λίστα ή οχι.
Ακριβώς σ' αυτό το σημείο, αν επιλέξουμε οχι θέλω να ακυρώνεται η εγγραφή (και οχι να ανοίγει το combobox) ενώ αν πατήσουμε ναι να ανοίγει η βοηθητική φόρμα frmSelectFrom να πηγαίνει σε νέα εγγραφή, να "Περνά" την τιμή που πληκτρολογήσαμε στην frmCenter, να επιλέγεται η εν λόγω εγγραφή, οπότε πατώντας το κουμπί Επιλογή να εισάγεται στην frmCenter.
Επίσης σε περίπτωση, που στην βοηθητική Φόρμα frmSelectFrom, φιλτράρουμε και δεν υπάρχουν σχετικές εγγραφές, τότε το με το πάτημα του κουμπιού επιλογή εισάγεται στην frmCenter κενή εγγραφή.
Πως μπορούν όλα αυτά να ενοποιηθούν στον κώδικά μου διότι είναι λίγο αποσπασματικός.
Πείτε που αν η λειτουργικότητα είναι σωστή ή αν τα μπερδεύω.

Χρήστος 01-04-12 11:46

Τι κατάφερα μέχρι τώρα...

1) Στον Πίνακα tbl1 και στο πεδίο Πεδίο1, η ιδιότητα Μηδενικό μήκος: Όχι

2) Στην βοηθητική Φόρμα, μετά από φίλτρο, αν δεν υπάρχουν εγγραφές, το κουμπί Επιλογή απενεργοποιείται . (πριν, γινόταν εισαγωγή κενής εγγραφής στην αρχική Φόρμα)

Σχετικά με το μήνυμα της αρχικής Φόρμας περί επεξεργασίας των στοιχείων της λίστας δεν έχω καταφέρει τίποτα!

nasos23 01-04-12 12:23

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

Κώδικας:

Private Sub cboSelect_NotInList(NewData As String, Response As Integer)
    On Error GoTo cboSelect_NotInList_Err
    Dim intAnswer As Integer
    Dim strSQL As String
    intAnswer = MsgBox("Η επιλεγμένη εγγραφή " & Chr(34) & NewData & _
        Chr(34) & " δεν υπάρχει στη λίστα." & vbCrLf & _
        "Θέλετε να την προσθέσετε τώρα?" _
        , vbQuestion + vbYesNo)
    If intAnswer = vbYes Then
        strSQL = "INSERT INTO tbl1([Πεδίο1]) " & _
                "VALUES ('" & NewData & "');"
        DoCmd.SetWarnings False
        DoCmd.RunSQL strSQL
        DoCmd.SetWarnings True
     
        Response = acDataErrAdded
    Else
        Me.cboSelect.Undo
       
        MsgBox "Παρακαλώ επιλέξτε μια εγγραφή απο τη λίστα."
         
        Response = acDataErrContinue
   
    End If
cboSelect_NotInList_Exit:
    Exit Sub
cboSelect_NotInList_Err:
    MsgBox Err.Description, vbCritical, "Error"
    Resume cboSelect_NotInList_Exit
End Sub


Χρήστος 01-04-12 13:10

Μαλλον τώρα που έχω κάνει το Πεδίο2 υποχρεωτικό τα χάλασα ε;

Χρήστος 01-04-12 15:56

Καταρχήν σ' ευχαριστώ για την λύση που μου πρόσφερες.
Δουλεύει μια χαρά.
Στην φάση αυτή δεν την αξιοποιώ αλλά την έχω αποθηκεύσει να την μελετήσω αργότερα.
Τελικά προτιμώ να δουλεύω όπως φαίνεται στην παρακάτω Βάση-Demo. Μ' αυτόν τον τρόπο τα ελέγχω όλα απ' την βοηθητική Φόρμα.
Την βάση την έχω μετατρέψει σε μια υποθετική μικρή εφαρμογή όπου επιλέγουμε προϊόντα διαφόρων προμηθευτών σε κάποιες αγορές μας. Έτσι θα μπορούμε να την καταλαβαίνουμε ευκολότερα νομίζω...

Έχω όμως ένα πρόβλημα.
1) Σαφέστατα ακόμη και αν διαγραφούν εγγραφές του tblProionta δεν διαγράφονται απ' τον tblAgores ... αλλά ...Πως μπορώ να αποτρέψω την διαγραφή των εγγραφών του Πίνακα tblProionta;
2) Στην Φόρμα frmAgores υπάρχει τρόπος στο πλαίσιο κειμένου Αναζητήστε Προϊόντα να πληκτρολογώ κάποιο προϊόν και καθώς πληκτρολογώ να φιλτράρονται δυναμικά/διαρκώς οι εγγραφές της Φόρμας;
(υπάρχει μια λύση στο ζητούμενο αυτό εντός του Forum αλλά εκεί η Φόρμα τροφοδοτείται από Ερώτημα)


Η ώρα είναι 09:01.

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


Search Engine Optimization by vBSEO 3.3.2