[ pmiroslav @ 27.02.2008. 10:15 ] @
U bazi imam tablicu koja mi se popunjava podacima za za ispis radnog naloga, trebovnica itd. Za svaki novi radni nalog ova tablica se isprazni i puni novim podacima. Kako mi se u međuvremenu ukazala potreba da podatke iz te tablice čuvam trebao bih na formi dugme "Kopiraj tablicu" koje kada pritisnem dobijem prozor u koji bih upisao ime pod kojim će se tablica kopirati i da se zatim odradi kopiranje.

Molim pomoć za ovo.
[ Getsbi @ 27.02.2008. 10:52 ] @
Probaj sa DoCmd.CopyObject ,,...

Sa forme povučeš naziv tabele
varijabla = Me.NazivtTabele
i tu varijavlu staviš umesto SourceObjectName u pomenutoj komandi.
[ domaci_a_nas @ 27.02.2008. 11:00 ] @
Zar ne bi bilo bolje da imaš glavnu tabelu u kojoj bi se nalazio broj radnog naloga i možda još neko polje kao što je datum naloga, a drugu tabelu bi mogao da povežeš sa brojem tog radnog naloga gde bi stajao njegov sadržaj.
Onda bi u glavnoj formi imao spisak tih radnih naloga, a unutar te dodaj još jednu formu koja bi prikazala sadržaj odabranog radnog naloga iz glavne forme.
[ pmiroslav @ 27.02.2008. 11:46 ] @
U međuvremenu sam malo tražio pa sam to napravio na slijedeći način:


Dim NovoIme As String

NovoIme = Forms![Forma]![RadniNalog]
DoCmd.CopyObject , NovoIme, acTable, "tblPodaciZaNalog"
[ domaci_a_nas @ 27.02.2008. 12:52 ] @
U tom slučaju bih ti preporučio sledeću funkciju, koju sam napisao da bih u jednom redu proverio da li postoji objekat sa nekim nazivom.
Za tabele se uzima ObjType = 1, za Query 5 i tako dalje, za linkovane tabele cini mi se 6.

Public Function ObjExist(ObjName As String, ObjType As Long) As Boolean
ObjExist = DCount("Name", "MSysObjects", "Name = '" & ObjName & "' And Type = " & ObjType) > 0
End Function

NovoIme = Forms![Forma]![RadniNalog]

If ObjExist(NovoIme, 1) Then
MsgBox "Tabela sa tim nazivom već postoji"
Else
DoCmd.CopyObject , NovoIme, acTable, "tblPodaciZaNalog"
End if