Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.704 pregleda

Najnovija ↓

Append query bez upozorenja 13.01.2008. u 12:06 · pre 228 meseci #1
Napravio sam append query i delete query i spakovao ih u jedan makro (iskopira sadrzaj jedne tabele u drugu i obrise sadrzaj prve tabele). Radi fenomenalno ali bih zeleo da izbacim ona dosadna upozorenja o brojevima zapisa koji ce biti preneti u drugu tabelu, odnosno izbrisani iz tabele. Da li to moze i kako?
Re: Append query bez upozorenja 13.01.2008. u 13:44 · pre 228 meseci #3
ili ako pozivaš iz koda onda možda bolje da samo privremeno onemogućiš
upozorenja pre nego što pozoveš query, pa ih onda posle vratiš na
"staro" stanje. mislim da je Application.DisableWarnings() metoda, ali
bolje proveri, vrlo moguće da sam promašio, a mrsko mi sada da to
tražim.
Re: Append query bez upozorenja 14.01.2008. u 08:52 · pre 228 meseci #4


DoCmd.SetWarnings False
DoCmd.OpenQuery "qbrisistzahtjevnice"
DoCmd.SetWarnings True

ili

Sqlupit="delete * from zahtjevnice where ...... itd"

DoCmd.SetWarnings False
DoCmd.RunSql "sqlupit"
DoCmd.SetWarnings True
Re: Append query bez upozorenja 11.02.2008. u 22:39 · pre 227 meseci #6
Pročitao sam danas ovaj post i nisam hteo da odgovorim pomalo iz razloga što je problem rešen, pomalo što nisam mogao da se setim po meni idelanog rešenja dok mi nije upravo zatrebalo. Lepa stvar kod foruma je što mogu da ti koriste kao podsetnik :)
Jedna metoda koju koristim zbog toga što je kod kratak je CurrentDb.Execute StrSQL, ova metoda ne zavisi od toga da li je SetWarnings on ili off. Postoji još jedno rešenje, koje je po meni najbolje, CurrentProject.Connection.Execute StrSQL :


Ovo rešenje sam implementirao u primeru koji najpre snima sve relacije u tabelu, zatim ih briše, a zatim posle neke radnje ih rekreira koristeći tu privremenu tabelu. CurrentDb.Execute StrSQL mi je u poslednjem redu prijavljivao Error, ali kada sam izmenio način exekucije sve je proradilo super. U slučaju da se pojavi greška ispisuje se opis greške, ali se kod neometano nastavlja. Nisam hteo da spajam procedure SaveRel i ExpRel zato što u slučaju da se pojavi greška prilikom rekreiranja tabela relacije bi bile izgubljene.

Public Sub SaveRel()
StrSQL = "SELECT MSysRelationships.* INTO TempRel FROM MSysRelationships;
CurrentDb.Execute StrSQL
End Sub

Public Sub ExpRel()

On Error Resume Next

Dim RS As Recordset
Dim RC As Integer

For RC = CurrentDb.Relations.Count - 1 To 0 Step -1
If Left(CurrentDb.Relations(RC).Name, 4) <> "MSys" Then CurrentDb.Relations.Delete CurrentDb.Relations(RC).Name
If Err.Description <> "" Then Debug.Print Err.Description
Err.Description = ""
Next RC

' OVDE DOLAZI KOD KOJI SE NE MOŽE IZVRŠITI KADA POSTOJE RELACIJE, KAO ŠTO JE NA PRIMER PROMENA PRIMARNOG KLJUČA


StrSQL = "Select TempRel.* From TempRel"
Set RS = CurrentDb.OpenRecordset(StrSQL)

If RS.RecordCount > 0 Then
RS.MoveLast
RS.MoveFirst
End If

For RC = 1 To RS.RecordCount
StrSQL = "ALTER TABLE " & RS!szObject & " ADD CONSTRAINT " & Left(RS!szObject, 4) & Left(RS!szReferencedObject, 4) & _
" FOREIGN KEY (" & RS!szColumn & ") REFERENCES " & RS!szReferencedObject & "(" & RS!szReferencedColumn & ") " & _
"ON UPDATE CASCADE ON DELETE CASCADE "
If Err.Description <> "" Then Debug.Print StrSQL, Err.Description
Err.Description = ""
CurrentProject.Connection.Execute StrSQL
RS.MoveNext
Next RC


End Sub


Toliko od mene, ubio sam par minuta, još ako će ovo pomoći nekome onda još bolje
Potpis
Ozbiljan i odgovoran mladić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme