Centar za edukaciju-BiH



#1 15.04.2014 13:16
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:put za backup podataka
za backup podataka koristim slijedecu funkciju
medjutim, kad pozivam call Compact_MDB imam problema sa putanjom ...dbPath1 = "D:\apoteka\2014\podaci"...
naime kad su podaci na particiji C:\,E;\ ili nekoj drugoj moram praviti novu mde sa izmjenom putanje

pitanje je mogu li se u ovom istom modelu koristiti sve particije u jednoj-istoj mde.
...

Option Compare Database
Public Sub Compact_MDB() 'funkcija br 1
Dim dbPath As String, dbPath1 As String, OldDbName As String, NewDbName As String, DbBackup As String
Dim Response As Integer, fs As Object
dbPath = Application.CurrentProject.path
dbPath1 = "D:\apoteka\2014\podaci"
'Or "C:\apoteka\2014\podaci"
OldDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka
NewDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka
DbBackup = Mid(OldDbName, 1, Len(OldDbName) - 4) & "_" & Format(Date, "ddmmyyyy") & ".mdb"
Response = MsgBox("Da li želite da napravite rezervnu kopiju baze pod imenom " & vbCrLf & "'" & DbBackup & "'", vbYesNo, "Queensland Computer")
If Response = vbYes Then
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile dbPath & "\" & OldDbName, dbPath1 & "\" & DbBackup
Set fs = Nothing
Else

If MsgBox("Da li želite da uradite Compact baze i promijenite joj ime u " & vbCrLf & "'" & NewDbName & "'", vbYesNo, "Continue") = vbYes Then
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile dbPath & "\" & OldDbName, dbPath1 & "\" & DbBackup
DBEngine.CompactDatabase dbPath1 & "\" & DbBackup, dbPath1 & "\" & NewDbName
Kill dbPath1 & "\" & DbBackup
Set fs = Nothing
Else

If MsgBox("Da li želite da uradite samo Compact baze?", vbYesNo, "Continue") = vbYes Then
CommandBars("Menu Bar"). _
Controls("Tools"). _
Controls("Database utilities"). _
Controls("Compact and repair database..."). _
accDoDefaultAction
Else
DoCmd.CancelEvent
End If
End If
End If
DoCmd.OpenForm "frmProgressBar"
MsgBox "Napravili ste rezervnu kopiju podataka !", vbInformation + vbOKOnly, DLookup("korisnik", "tblkorisnik")
End Sub
Function Bekap() 'funkcija 2
Dim StaroIme As String
Dim NovoIme As String
Dim ime As String
Dim Putanja As String

On Error GoTo KRAJ
StaroIme = ImeBaze
Putanja = PutanjaB
NovoIme = Year(Date) & Format(Month(Date), "mm") & Format(Day(Date), "dd")
NovoIme = Putanja & "backup\" & NovoIme & ".zip"
Shell Putanja & "Pkzip " & NovoIme & " " & StaroIme
MsgBox "Putanja:" & Putanja & vbCr & "NovoIme:" & NovoIme & vbCr & "StaroIme:" & StaroIme

Exit Function
KRAJ:
End Function
Function ImeBaze()

Dim ime As String

ime = CurrentDb.Name

Do Until right$(ime, 1) = "."
ime = left$(ime, Len(ime) - 1)
Loop
ime = left$(ime, Len(ime) - 1)
ImeBaze = ime & "_be.mdb"
End Function
Function PutanjaB()
Dim Putanja As String
Putanja = CurrentDb.Name
Do Until right$(Putanja, 1) = "\"
Putanja = left$(Putanja, Len(Putanja) - 1)
Loop
PutanjaB = Putanja
End Function
↑  ↓

#2 15.04.2014 13:51
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: put za backup podataka
IZmijeni samo ovo:
Public Sub Compact_MDB( Dim dbPath As String) 'funkcija br 1
dim OldDbName As String, NewDbName As String, DbBackup As String
Dim Response As Integer, fs As Object

OldDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka
NewDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka

U ovom slucaju mozes upisati putanju pri pozivu procedure zavisno koja ti putanja treba.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 15.04.2014 14:06
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:Re: put za backup podataka
Public Sub Compact_MDB ( Dim dbPath As String) 'funkcija br 1

ovo u kompajliranju ne prolazi
↑  ↓

#4 15.04.2014 14:21
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: put za backup podataka
U pogresno sam napisao odnosno samo prekopirao.
Netreba ispred dim.
Znaci ide:
Public Sub Compact_MDB ( dbPath As String) 'funkcija br 1
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 15.04.2014 15:47
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:Re: put za backup podataka
kad dodjem kuci probat cu

pozdrav
↑  ↓

#6 15.04.2014 18:59
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:Re: put za backup podataka
definitivno ovdje nesto ne valja
pokrenem compact_mdb iz inmmedijate prozora i na
fs.CopyFile dbPath & "\" & OldDbName & "\" & DbBackup
pokazuje particiju C; a ja commpact pokrecem sa d:particije
i drugo ne mogu comppact:db pozvati sa call compact:mdb
...
problem je izgleda dbPath1 jer sam gaizbacio
↑  ↓

#7 15.04.2014 19:38
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: put za backup podataka
Pa dodaj dodaj ulazne variable u proceduri.
U pravu si nisam gledao da ti imas obadvije putanje jednovremeno.
Mislio sam da nekad koristis jednu a nekad drugu.
Znaci bilo bi:
Public Sub Compact_MDB ( dbPath As String,dbPath1 As String) 'funkcija br 1
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 15.04.2014 19:52
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:Re: put za backup podataka
znaci li to da je 1 isto sto i 2
1.dbPath = Application.CurrentProject.path
2.dbPath1 = "D:\apoteka\2014\podaci\"

kad pozivam compact_mdb on trazi i 1. i 2.

moja je aplikacija na d:\apoteka\2014\xxx.mde
moja kopija podataka treba da je na d:\apoteka\2014\podaci\

ako sam dobro shvatio ja moram definirati 2. napisati putanu za kopiju podataka
a to onda nije rješenje koje trazim
pozdrav
↑  ↓

#9 15.04.2014 21:37
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: put za backup podataka
Citat:
za backup podataka koristim slijedecu funkciju
medjutim, kad pozivam call Compact_MDB imam problema sa putanjom ...dbPath1 = "D:\apoteka\2014\podaci"...
naime kad su podaci na particiji C:\,E;\ ili nekoj drugoj moram praviti novu mde sa izmjenom putanje

pitanje je mogu li se u ovom istom modelu koristiti sve particije u jednoj-istoj mde.

neznam sta ti ovo znaci kada su ti podaci na nekoj drugoj particiji i zasto je tako.
ja sam ti samo htio prepraviti tvoju proceduru da mozes pri pozivu mijenjati putanju i jednu i drugu ne ulazeci u sustinu i racunajuci da ce te to zadovoljiti.
imas ovo u kodu:

dbPath = Application.CurrentProject.path'-> putanja aplikacije vjerovatno ali ne i podataka pa i neznam zasto ce ti ako su podaci linkovani iz neke druge baze.
dbPath1 = "D:\apoteka\2014\podaci"
-->Pretpostavljam putanja podataka do baze se podacima ali bez imena baze.
OldDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka
NewDbName = "apoteka2014_be" & ".mdb" 'ime splitovane baze podataka Neznam zasto novo i staro ime isto i zbog toga i nemozes da uradis kompakt kodom.

DbBackup = Mid(OldDbName, 1, Len(OldDbName) - 4) & "_" & Format(Date, "ddmmyyyy") & ".mdb"
Ovo je ime backup baze
Citat:
CommandBars("Menu Bar"). _
Controls("Tools"). _
Controls("Database utilities"). _
Controls("Compact and repair database..."). _
accDoDefaultAction
ovo je iz komand bara

I sad imas ovo za kopiranje bat+ze odnosno backup
fs.CopyFile dbPath & "\" & OldDbName, dbPath1 & "\" & DbBackup

I ovo ce odraditi ako upises u dbpath napri pozivu procedure putanju do tvoje be baze a u dbpath1 putanju gdje zelis smjestiti backup.

Ovaj kod ti je poprilicno komplikovan ima negdje moj kod koji ima zasebno kompak i backup pa se lakse snalazi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 16.04.2014 08:08
nevsad Van mreze
Clan
Registrovan od:01.09.2010
Postovi:228


Predmet:Re: put za backup podataka
evo kako sam rijesio problem
za definiciju dbPath1 samdodao & "\podaci"
i radi korektno

umjesto
dbPath1 = "D:\apoteka\2014\podaci"
ide
dbPath1 = Application.CurrentProject.path & "\podaci"
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 7: 51 pm.