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/3304-ektelesi-makroentolis-gia-anoigma-formas.html)

teo1976 19-09-14 12:04

Εκτέλεση μακροεντολής για άνοιγμα φόρμας
 
Καλή σας ημέρα φίλοι μου

Έχω μια φόρμα σε μορφή πίνακα όπου περιέχει τα βασικά στοιχεία των προμηθευτών. Η φόρμα αυτή είναι μόνο για προβολή όπου μπορώ να βλέπω το σύνολο των προμηθευτών. Κάνοντας κλικ στο ΑΦΜ μου ανοίγει νέα φόρμα σε μορφή φόρμας όπου μπορώ να μεταβάλω τα στοιχεία των προμηθευτών ή ακολούθως να κάνω εισαγωγή τιμολογίων. Το πρόβλημά μου είναι ότι μετά το κλικ στο ΑΦΜ κάποιου προμηθευτή, στη η φόρμα που μου ανοίγει θέλω να εμφανίζεται η εγγραφή εκείνη στην οποία έκανα κλικ.


Ευχαριστώ εκ των προτέρων

dimitrisp 19-09-14 12:56

Κώδικας
 
Θόδωρε καλησπέρα,
Βάλε τον παρακάτω κώδικα στο συμβάν με το κλικ, αφου πρώτα τον προσαρμόσεις στα δικά σου δεδομένα, και θα σου επιστρέφει την εγγραφή που θέλεις. Όπου "ID" το "ID" της κύριας φόρμας σου.
Αν δεν τα καταφέρεις πες μας, γιατί σε μένα δουλεύει άψογα.
Κώδικας:

Private Sub ΑΦΜ_Click()

Dim CurrentID As Long
Dim stDocName As String
Dim stLinkCriteria As String
Dim rs As Object

On Error Resume Next

If Me.Dirty Then
DoCmd.RunCommand acCmdSaveRecord
End If
If Err <> 0 Then
Beep
MsgBox Err.Description
Exit Sub
End If

stDocName = "ΟΝΟΜΑ ΤΗΣ ΦΟΡΜΑΣ ΠΟΥ ΘΕΛΕΙΣ ΝΑ ΑΝΟΙΞΕΙ"
stLinkCriteria = "[ID]=" & Nz(Me![ID], "Null")

DoCmd.OpenForm stDocName, acNormal, "", stLinkCriteria, , acDialog

If Not IsNull(Me![ID]) Then
Me.Refresh
Exit Sub
Else
CurrentID = Nz(DMax("[ID]", Me.RecordSource), 0)
End If

Me.Requery
Set rs = Me.Recordset.Clone
rs.FindFirst "[ID] = " & CurrentID
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
rs.Close

End Sub






Φιλικά/Δημήτρης

dimitrisp 20-09-14 01:24

1 Συνημμένο(α)
.................................................. .....................................

teo1976 01-10-14 11:50

Σας Ευχαριστώ πολύ, δουλέυει τέλεια...

johnioa 01-04-15 09:14

Καλημέρα σε όλους. μπαίνω αμέσως στο προβλημα μου. έχω δημιουργήσει μια φορμα στην οποία έχω βάλει ένα κουμπι και στο συμβαν έχω βάλει τον παρακάτω κώδικα
Option Compare Database
Private Sub Εντολή227_Click()


Dim strFormName As String
Dim strCriteria As String

If NewRecord Then
MsgBox "This record contains no data." _
, vbInformation, "Invalid Action"
Exit Sub
Else
strFormName = "ΕΚΤΥΠΩΣΗ ΟΥΡΟΛΟΓΙΚΟ ΙΣΤΟΡΙΚΟ"
strCriteria = "[κωδΕπισκεψης]= " & Me![κωδΕπισκεψης]


DoCmd.OpenForm strFormName, acViewPreview, , strCriteria

End If
End Sub

και δουλεύει μια χαρά κανοντας δηλαδη κλικ πανω στο κουμπι μου ανοιγει μια αλλη φορμα εκτυπωσης στην συγκεκριμενη εγγραφή.
τώρα το προβλημα μου ειναι πως οταν παω να δημιουργήσω ένα δεύτερο κουμπι με τον κώδικα
Option Compare Database
Private Sub Εντολή229_Click()


Dim strFormName As String
Dim strCriteria As String

If NewRecord Then
MsgBox "This record contains no data." _
, vbInformation, "Invalid Action"
Exit Sub
Else
strFormName = "ΠΟΡΕΙΑ ΝΟΣΗΛΕΙΑΣ"
strCriteria = "[κωδΕπισκεψης]= " & Me![κωδΕπισκεψης]


DoCmd.OpenForm strFormName, acViewPreview, , strCriteria

End If
End Sub
ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ ΤΟ ΚΟΥΜΠΙ ΚΑΘΟΛΟΥ ΤΟ ΚΟΥΜΠΙ ΜΕ ΤΟΝ ΠΡΩΤΟ ΚΩΔΙΚΑ. Γιατί συμβαίνει αυτό και πως γίνεται να έχω δυο κουμπια που να μου ανοιγουν διαφορετικες φορμες στις συγκεκριμένες εγραφές?
Ευχαριστώ!

dimitrisp 03-04-15 22:54

Γιάννη,
Από τα στοιχεία που παραθέτεις, διαφαίνεται ότι το θέμα σου δεν γίνεται επαρκώς κατανοητό (τουλάχιστον σε μένα).
Υπάρχει δυνατότητα να ανεβάσεις ενα δείγμα για να γίνει πιό κατανοητό το ζητούμενο και, φυσικά, αν μπορούμε να βοηθήσουμε;


Φιλικά/Δημήτρης


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

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


Search Engine Optimization by vBSEO 3.3.2