Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Γεια σας Στο αρχείο που ανέβασα (εξαιρετική δημιουργία του Τάσου Φιλοξενίδη), μπορούμε να αποθηκεύσουμε αρχεία pdf στο φάκελο της προτίμησής μας (Κεντρικός Φάκελος) με Drag and drop στη φόρμα. Πριν το Drag and drop, σε κάθε αρχείο pdf του δίνω ονομασία, με έναν αριθμό: 2541.pdf, 9541.pdf, 5364.pdf κοκ. Ερώτημα: Είναι δυνατόν, το [ID] και η ονομασία των αρχείων που θα κάνουμε Drag and drop στη φορμα να καταχωρίζεται σε κάποιον πίνακα, με ημερομηνία Date? Σας ευχαριστώ εκ των προτέρων |
#2
| |||
| |||
![]()
Στο DocumentComplete (είναι στον κώδικα της φόρμας) Κώδικας: Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim filename As String filename = Split(URL, ".")(0) If URL <> AboutBlank Then DoCmd.RunSQL ("INSERT INTO LogFiles (FILENameS) VALUES ('" & filename & "')") End If End Sub ΣΗΜΕΙΩΣΗ : Ενδιαφέρον το κολπάκι με το WebBrowser Control και το Drag Drop έστω και με τους περιορισμούς του..μέχρι και τα Windows 7 είχαμε την δυνατότητα μέσω API Calls να κάνουμε μια οποιαδήποτε φόρμα να δεχτεί Drag - Drop αλλά με τα Windows 10 κάτι άλλαξε και πάπαλα. |
#3
| |||
| |||
![]()
Γεια σας Φίλε Γιάννη, σε ευχαριστώ για την πρότασή σου. Τη δοκίμασα αλλά, στον πίνακα δεν καταχωρίζεται η ονομασία του αρχείου .pdf που κάνω drag and drop, αλλά η διαδρομή του Κεντρικού Φακέλου... Έκανα διάφορες τροποποιήσεις, χωρίς αποτέλεσμα! Μπορεί να μην κάνω κάτι σωστά... Αν δεν σου κάνει κόπο, δώσε ενα παράδειγμα στη βάση που ανέβασα... Τελικά, εκείνο που επιδιώκω είναι: Ας υποθέσουμε ότι έχουμε, γαι παράδειγμα, δυο pdf αρχεία: 2541.pdf, 9541.pdf στην επιφάνεια εργασίας. Έχοντας ανοιχτή τη φόρμα κάνουμε drag and drop τα δύο αυτά αρχεία, τα οποία, ακολούθως, φαίνονται στη φόρμα μας (WebBrowser Control) να έχουν και την εστίαση. Στον Πίνακα θα ήθελα να καταχωρίζονται οι ονομασίες (αριθμοί) αυτών, δηλαδή 2541 και 9541. Διαφορετικά, κλείνοντας τη Φόρμα να καταχωρίζονται στον Πίνακα οι ονομασίες των όλων των αρχείων .pdf που προστέθηκαν κατά το τελευταίιο άνοιγμά της... Εννοείται πως στον WebBrowser Control ενδέχεται να υπάρχουν και άλλα αρχεία .pdf... Φοβάμαι ότι, πρέπει να είναι πολύ δύσκολο (έως αδύνατον) να επιτευχθεί το ζητούμενο! |
#4
| |||
| |||
![]()
Το παρακατω θα αναλάβει να τραβήξει μόνο το όνομα του PDF: Κώδικας: Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim fileArr Dim filename As String Dim lenArray As Integer fileArr = Split(URL, ".")(0) fileArr = Split(filename, "\") lenArray = UBound(fileArr) - LBound(fileArr) filename = fileArr(lenArray) If URL <> AboutBlank Then DoCmd.RunSQL ("INSERT INTO LogFiles (FILENameS) VALUES ('" & filename & "')") End If End Sub |
#5
| |||
| |||
![]()
Γεια σας Φίλε Γιάννη, 1) Ο Κώδικας χτυπάει στο "filename = fileArr(lenArray)" και 2) Η γραμμή του Κώδικα "DoCmd.RunSQL ("INSERT INTO LogFiles (FILENameS) VALUES ('" & filename & "')")", τρέχει με το που θα ανοίξω τη φόρμα.(Ενω θέλουμε να τρέχει μετά το drag and drop) Δυστυχώς, δεν μπορώ να τα διορθώσω... Δεν μπορώ να καταλάβω τι δεν κάνω σωστά... Παράθεση:
|
#6
| |||
| |||
![]()
[QUOTE=dimitrisp;33626[/QUOTE] Ναι ... ο καφές δεν έπιασε αμέσως ενώ το debug της VBE αφήνει πολλές ελευθερίες... :) Κώδικας: Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim fileArr Dim filename As String Dim lenArray As Integer If InStr(URL,AboutBlank ) Then Exit Sub If Len(Dir(URL)) Then fileArr = Split(URL, ".")(0) path_elements = Split(fileArr, "\") lenArray = UBound(path_elements) - LBound(path_elements) filename = path_elements(lenArray) If URL <> AboutBlank Then DoCmd.RunSQL ("INSERT INTO LogFiles (FILENameS) VALUES ('" & filename & "')") End If End If End Sub |
#7
| |||
| |||
![]()
Γεια σας Φίλε Γιάννη, τώρα χτυπάει στο " path_elements = " |
#8
| |||
| |||
![]() Παράθεση:
Απλώς βάλε στις Δηλώσεις των μεταβλητών και Κώδικας: Dim path_elements as Variant |
#9
| |||
| |||
![]()
Γεια σας Έχεις δίκιο Γιάννη με τις μεταβλητές! Τελικά έκανα δοκιμές και φαίνεται ότι ο Κώδικας λειτουργεί άψογα! Όμως, ισχύει όταν κάνουμε drag and drop σε ενα και μόνον ενα αρχείο... Αν κάνουμε απόθεση, για παράδειγμα δυο αρχεία μαζί τότε καταχωρίζεται το όνομα μόνον του ενος... Αν δεν κάνω κατάχρηση της βοήθειάς σου, γίνεται να καταχωρίζονται ταυτόχρονα στον Πίνακα περισσότερα από ένα αρχεία (τα οποία κάνουμε drag and drop )? Θερμές ευχαριστίες |
#10
| |||
| |||
![]()
Για πολλά αρχεία μαζί δεν θυμάμαι αν το έκανε και η καλή μέθοδος που ανέφερα πιο πριν (Με το API) Μπορείς να βάλεις όμως 1 κουμπάκι και να καθαρίζει το υπάρχον περιεχόμενο και να ξαναβάζεις αρχείο στο WebBrowser Control Απλώς στο Click event Βαζεις Κώδικας: Private Sub CommandClear_Click() Me.WebBrowser1.Navigate ("about:blank") End Sub |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Αποθήκευση δεδομένων από φόρμα σε πίνακα που περιέχει ημερομηνίες και μήνες | alex | Access - Ερωτήσεις / Απαντήσεις | 3 | 27-11-18 12:21 |
ΑΛΛΑΓΗ ΟΝΟΜΑΣΙΑΣ ΠΕΔΙΟΥ ΣΕ ΠΙΝΑΚΑ | smasak | Access - Ερωτήσεις / Απαντήσεις | 7 | 05-06-17 12:27 |
Αλλαγή ονομασίας ΤΧΤ | ΑΛΕΞΙΑ | Access - Ερωτήσεις / Απαντήσεις | 0 | 02-08-15 13:11 |
Σκαναρισμα και αποθηκευση σε πινακα...βοηθεια! | theoma4 | Access - Ερωτήσεις / Απαντήσεις | 21 | 25-07-11 10:43 |
[VBA] Αποθήκευση και αρίθμηση αρχείων | Lokos | Excel - Ερωτήσεις / Απαντήσεις | 5 | 24-03-11 03:17 |
Η ώρα είναι 14:39.