Article View: pl.comp.bazy-danych.msaccess
Article #137277Re: Do BraZby'ego.
From: Jacek
Date: Sat, 10 Sep 2016 04:47
Date: Sat, 10 Sep 2016 04:47
81 lines
3749 bytes
3749 bytes
Dnia Sat, 3 Sep 2016 23:00:00 +0200, Zbigniew Bratko napisał(a):
> W dniu 2016-09-02 o 12:24, Jacek pisze:
>> Cześć Zbyszku.
>>
>> Pisałem na mejla, ale wrócił.
>> Pozwolę sobie zamieścić tutaj.
>>
>> Napisałem taki prosty programik do robienia archiwizacji.
>> Pierwotnie używałem Shell(xcopy…), ale że folderów Buchaltera jest jakieś
>> 80, to uruchamiało się tyle ‘hostcon.exe’ i mój
>> komunikat o skończonym kopiowaniu był nieprawdziwy.
>>
>> Próbuję ze scripting, ale mi się wywala.
>> Ścieżka do plików źródłowych istnieje, tworzy się pierwszy katalok poprzez
>> MkDir, ale samo kopiowanie wywala błąd.
>>
>> P.S. Jako że baza Płatnika i pliki Rewizora nie są duże, to stosuję Shell.
>>
>> Oto kod:
>
> Ciężko jest analizować kod, bez przykładowych plików, folderów, tabeli itp.
>
> Dla porządku użyłbym instrukcji Option Explicit
> w celu wymuszenia jawnej deklaracji zmiennych.
>
> Poniższe zmienne nie są zadeklarowane
> q, x, kat, k, qq, inf
>
>>
>> Private Sub Polecenie2_Click()
>> DoCmd.Hourglass True
>> Dim fobj As Object
>> Set fobj = CreateObject("Scripting.FileSystemObject")
>> Dim Data As String, s As String, d As String
>> Data = Format(Date, "yyyy-MM-dd")
>> If Dir("G:\" & Data & "\", vbDirectory) <> "." Then
>> MkDir ("G:\" & Data)
>> MkDir ("G:\" & Data & "\Platnik")
>> MkDir ("G:\" & Data & "\Rewizor")
>> MkDir ("G:\" & Data & "\Buchalter")
>> End If
>> q = Shell("Xcopy P:\Baza G:\" & Data & "\Platnik\ /E /Y /H", vbHide)
>> q = Shell("Xcopy R:\ G:\" & Data & "\Rewizor\ /E /Y /H", vbHide)
>>
>
> [...]
>
>> For x = 1 To rs.RecordCount
>> If rs.Fields("Archiwizowac") = True Then
>> Kat = rs.Fields("Katalog")
>> MkDir ("G:\" & Data & "\Buchalter\" & Kat)
>> k = "Xcopy F:\Buch\" & Kat & " G:\" & Data & "\Buchalter\" & Kat &
>> \ /E /Y /H"
>
> Powyższa linijka chyba jest zbędna, jeśli nie to powinna mieć postać:
> k = Shell("Xcopy F:\Buch\" & kat & " G:\" & Data &
> "\Buchalter\" & kat & "\ /E /Y /H")
> gdyż po zadeklarowaniu zmiennej k jako typ Long dostaję błąd nr 13 Type
> Mismath.
>
> Bez użycia instrukcji Option Explicit zmienna k jest Typu Variant i
> przypisywany do niej ciąg znaków "Xcopy F: ..... \ /E /Y /H" jest jak
> najbardziej prawidłowy, tyle tylko że nie dostajesz informacji, czy ta
> linijka w ogóle zadziałała.
>
>
>> s = "F:\Buch\" & Kat & "\"
>> d = "G:\" & Data & "\Buchalter\" & Kat & "\"
>
> Spróbuj, czy zadziała ścieżka 's' bez ostatniego backslash'a:
>
> d = "G:\" & Data & "\Buchalter\" & Kat & ""
>
> fobj.CopyFolder s, d, True
> [...]
>
>> End Sub
>>
To był ten ostatni łamaniec w zmiennej s, dzięki.
Technical Details
Message-ID:
<1hscaqk2sp3e2$.1rmcs091gscf$.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<1vgbj07534ww9$.1sl0ks9vb4qus$.dlg@40tude.net> <nqfdkn$mm3$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: Jacek <ala@ola.pl> Subject: Re: Do BraZby'ego. Newsgroups: pl.comp.bazy-danych.msaccess User-Agent: 40tude_Dialog/2.0.15.1pl MIME-Version: 1.0 References: <1vgbj07534ww9$.1sl0ks9vb4qus$.dlg@40tude.net> <nqfdkn$mm3$1@node2.news.atman.pl> Date: Sat, 10 Sep 2016 06:47:23 +0200 Message-ID: <1hscaqk2sp3e2$.1rmcs091gscf$.dlg@40tude.net> Lines: 81 Organization: Telekomunikacja Polska NNTP-Posting-Host: 178-37-238-107.adsl.inetia.pl X-Trace: 1473482843 unt-rea-b-01.news.neostrada.pl 661 178.37.238.107:27621 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3608 X-Received-Body-CRC: 1394669430 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit