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/6465-antigrafh-kai-epikollhsh.html)

jorgis 12-04-24 09:51

ΑΝΤΙΓΡΑΦΗ ΚΑΙ ΕΠΙΚΟΛΛΗΣΗ
 
καλή σας μέρα , θα ήθελα κώδικας για το εξής :
Σε φόρμα της access με το κλίκ :
Αντιγραφή (ή αποκοπή) περιεχομένου από τον φάκελο Α που βρίσκεται στη διαδρομή πχ C:\Users\USER\OneDrive\Έγγραφα\ Α
Στη συνέχεια επικόλληση του περιεχομένου που αντιγράφηκε στον φάκελο Β σε καθορισμένη άλλη διαδρομή πχ C:\Users\USER\OneDrive\Έγγραφα\ Β
Μετά την επικόλληση άδειασμα (διαγραφή όλου του περιεχομένου στον φάκελο Α της διαδρομής C:\Users\USER\OneDrive\Έγγραφα\ Α
Μήνυμα : Αντιγραφή ολοκληρώθηκε
Σημείωση όλα τα αρχεία και στους δύο φακέλους είναι μορφής xml
Ευχαριστώ πολύ εκ των προτέρων
με εκτίμηση

Γιώργος

καλή συνέχεια

nasos23 12-04-24 19:42

Καλησπέρα σε όλους.
Γιώργη δοκίμασε τον παρακάτω κώδικα με το πάτημα του κουμπιού "copy_btn"
Κώδικας:

Private Sub copy_btn_Click()
Dim sourceFolder As String
    Dim destFolder As String
    Dim file As String

    ' Ορισμός φακέλου πηγής και φακέλου προορισμού
    sourceFolder = "C:\Users\USER\OneDrive\Έγγραφα\ Α\"
    destFolder = "C:\Users\USER\OneDrive\Έγγραφα\ Β\"

    ' Αντιγραφή όλων των αρχείων XML από τον φάκελο πηγής στον φάκελο προορισμού
 
    file = Dir(sourceFolder & "*.xml")
    While file <> ""
        FileCopy sourceFolder & file, destFolder & file
        file = Dir
    Wend

    ' Διαγραφή  των αρχείων XML στον φάκελο πηγής
    file = Dir(sourceFolder & "*.xml")
    While file <> ""
        Kill sourceFolder & file
        file = Dir
    Wend
    MsgBox "Τα αρχεία xml αντιγράφηκαν επιτυχώς στο φάκελο Β. Έγινε καθαρισμός" & _
    " του φακελου Α", vbInformation, "ΕΝΗΜΕΡΩΣΗ"
End Sub


jorgis 13-04-24 21:34

κασπέρα σε όλα τα μέλη, καλησπέρα Νάσο. Σε ευχαριστώ πολύ για τον κώδικα : Θα ήταν άραγε υπερβολή να ζητήσω το παράθυρο του μηνύματος να κλείνει αυτόματα μετά από 2 ''
ευχαριστώ
Private Sub copy_btn_Click()
Dim sourceFolder As String
Dim destFolder As String
Dim file As String

' Ορισμός φακέλου πηγής και φακέλου προορισμού
sourceFolder = "C:\Users\USER\OneDrive\Έγγραφα\ Α\"
destFolder = "C:\Users\USER\OneDrive\Έγγραφα\ Β\"

' Αντιγραφή όλων των αρχείων XML από τον φάκελο πηγής στον φάκελο προορισμού

file = Dir(sourceFolder & "*.xml")
While file <> ""
FileCopy sourceFolder & file, destFolder & file
file = Dir
Wend

' Διαγραφή των αρχείων XML στον φάκελο πηγής
file = Dir(sourceFolder & "*.xml")
While file <> ""
Kill sourceFolder & file
file = Dir
Wend
MsgBox "Τα αρχεία xml αντιγράφηκαν επιτυχώς στο φάκελο Β. Έγινε καθαρισμός" & _
" του φακελου Α", vbInformation, "ΕΝΗΜΕΡΩΣΗ"
End Sub

nasos23 13-04-24 22:26

Καλησπέρα Γιώργο
Έχεις κάνει και παλαιότερα το ίδιο ερώτημα εδώ
https://www.ms-office.gr/forum/acces...minimatos.html
και σου απάντησε ο Τάσος.
Ακολούθησε λοιπόν τις οδηγίες του Τάσου
και θα έχεις το επιθυμητό αποτέλεσμα.
Δηλ. Βάλε τον κώδικα του Τάσου σε μια λειτουργική μονάδα
Κώδικας:

Option Compare Database
Option Explicit

Sub MessageBox(Prompt As String, _
              Optional TimeSpan As Integer = 0, _
              Optional Title As String = "")
    Dim ScriptFilename As String
    Dim strText As String
    Dim fso    As Object
    Dim oStream As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    ScriptFilename = fso.BuildPath(Environ("TEMP"), "msg.vbs")
   
    strText = "CreateObject(""wscript.shell"").popup "
    strText = strText & Chr(34) & Prompt & Chr(34) & ", " & TimeSpan & ", " _
              & Chr(34) & Title & Chr(34) & ", 4160"
   
    Set oStream = fso.CreateTextFile(ScriptFilename, True, True)
    oStream.Write strText
    oStream.Close
    Set fso = Nothing
   
    Shell "wscript.exe " & Chr(34) & ScriptFilename & Chr(34)
End Sub

και το μήνυμα διαμορφώνεται ως εξής:
MessageBox "Τα αρχεία αντιγράφηκαν επιτυχώς στο φάκελο Β. Έγινε καθαρισμός" & _
" του φακελου Α", 2, "ΕΝΗΜΕΡΩΣΗ"

Το TimeSpan ορίζεται σε 2, που σημαίνει ότι το μήνυμα θα κλείσει μετά από 2 δευτερόλεπτα.
Καλή συνέχεια

jorgis 14-04-24 13:42

ευχαριστώ και πάλι


Η ώρα είναι 05:18.

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


Search Engine Optimization by vBSEO 3.3.2