zxz 15.04.2014 21:37
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.

zxz 15.04.2014 19:38
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

nevsad 15.04.2014 19:52
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

nevsad 15.04.2014 14:06
Predmet:Re: put za backup podataka

Public Sub Compact_MDB ( Dim dbPath As String) 'funkcija br 1

ovo u kompajliranju ne prolazi

zxz 15.04.2014 14:21
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

nevsad 15.04.2014 15:47
Predmet:Re: put za backup podataka

kad dodjem kuci probat cu

pozdrav

nevsad 15.04.2014 18:59
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

nevsad 15.04.2014 13:16
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

zxz 15.04.2014 13:51
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.

zxz 16.04.2014 11:56
Predmet:Re: put za backup podataka

Znaci problem rijesen?