🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #137276

Re: Do BraZby'ego.

#137276
From: Zbigniew Bratko
Date: Sat, 03 Sep 2016 21:00
84 lines
3536 bytes
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
>


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Technical Details
Message-ID: <nqfdkn$mm3$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <1vgbj07534ww9$.1sl0ks9vb4qus$.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Zbigniew Bratko <byle@co.pl>
Newsgroups: pl.comp.bazy-danych.msaccess
Subject: Re: Do BraZby'ego.
Date: Sat, 3 Sep 2016 23:00:00 +0200
Organization: ATMAN - ATM S.A.
Lines: 84
Message-ID: <nqfdkn$mm3$1@node2.news.atman.pl>
References: <1vgbj07534ww9$.1sl0ks9vb4qus$.dlg@40tude.net>
NNTP-Posting-Host: 37.248.153.169
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1472936408 23235 37.248.153.169 (3 Sep 2016 21:00:08 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sat, 3 Sep 2016 21:00:08 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
In-Reply-To: <1vgbj07534ww9$.1sl0ks9vb4qus$.dlg@40tude.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit