Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zaobilaženje greške "You cannot save the record at this time"

[es] :: Access :: Zaobilaženje greške "You cannot save the record at this time"

[ Pregleda: 2622 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Zaobilaženje greške "You cannot save the record at this time"30.07.2017. u 14:14 - pre 81 meseci
Imam formu u kojoj treba popuniti četiri podatka. Prva dva, šifra i naziv su obavezna, a druga dva nisu. Kada hoću da izađem a nisam uneo obavezne podatke javlja mi grešku "You cannot save the record at this time". Napravio sam deo koji označava nepopunjena polja i poruku. Tu nastaje problem, ja bih da ako se klikne na Yes da se obriše uneseno i vrati na zadnji sačuvani record, a ako se klikne na no da se nastavi sa unosom. Svaka pomoć je dobrodošla.
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim obavezno As Control, EmptyStr$
  For Each obavezno In Me.Controls
    If Right(obavezno.Name, 3) = "_ob" Then
      If IsNull(obavezno.Value) Or obavezno.Value = vbNullString Then
        EmptyStr = EmptyStr & obavezno.Name & ";"
        obavezno.BackColor = RGB(255, 192, 203)
      End If
    End If
  Next
  If EmptyStr <> vbNullString Then
    EmptyStr = Left(EmptyStr, Len(EmptyStr) - 1)
    If MsgBox("Niste popunili neka obavezna polja: " & vbCrLf & EmptyStr & vbCrLf & "Ako želite da prekinete kliknite na Yes", vbExclamation + vbYesNo, "Brisanje artikla") = vbYes Then
    DoCmd.SetWarnings False
    DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.SetWarnings True
    DoCmd.GoToRecord , , acLast
Else
    Me.Undo
End If
  End If
End Sub
Prikačeni fajlovi
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"30.07.2017. u 16:39 - pre 81 meseci
U ovom primeru sam zaboravio deo On Error GoTo... ali ništa ni sa njim nisam uspeo...
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"31.07.2017. u 10:33 - pre 81 meseci
Ima li neko bilo kakvu ideju, smernicu? Ne mora da bude nastavak mog primera, već samo da obrađuje grešku kad se želi napustiti forma a obavezna polja nisu unesena.
 
Odgovor na temu

Dexxxl
Dejan Stojanovic
Blagi uzas
Knjazevac

Član broj: 252836
Poruke: 212
178-223-129-178.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"02.08.2017. u 12:58 - pre 81 meseci
U modul formr dodaj

Code:

Private Sub Form_Error(DataErr As Integer, Response As Integer)

Select Case DataErr
 
Case 3314
If MsgBox("Niste popunili neka obavezna polja: " & vbCrLf & _
"Ako želite da prekinete kliknite na Yes", vbExclamation + vbYesNo, "Brisanje artikla") = vbYes Then
Response = 0
Else
Me.Undo
End If
 
Case Else
 
MsgBox "Greska Br: " & DataErr & vbCr _
   & Err.Description
 
End Select
Response = 0

End Sub


Na slican nacin mozes obraditi i ostale greske
kodove gresaka imas na

http://docs.oracle.com/cd/B10501_01/win.920/a97262/a.htm
Prikačeni fajlovi
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"02.08.2017. u 18:44 - pre 81 meseci
Hvala, Dexxxl. Interesuje me sledeće. U Vašem primeru kada se pojavi poruka Ako želite da prekinete kliknite na... klikom i na Yes i na No pojavljuje se greška br. 2169. Da li se ta greška obrađuje u okviru prethodne
Code:
Case 3314
If MsgBox("Niste popunili neka obavezna polja: " & vbCrLf & _
"Ako želite da prekinete kliknite na Yes", vbExclamation + vbYesNo, "Brisanje artikla") = vbYes Then
If DataErr = 2169 Then
...
Else
....
   End If
   Else
Me.Undo
End If


ili posebno
Code:
.
.
.
If MsgBox("Niste popunili neka obavezna polja: " & vbCrLf & _
"Ako želite da prekinete kliknite na Yes", vbExclamation + vbYesNo, "Brisanje artikla") = vbYes Then
Response = 0
Else
Me.Undo
End If
Case 2169
 
.
.
.

 
Case Else
 
MsgBox "Greska Br: " & DataErr & vbCr _
   & Err.Description
.
.
 

Ako je obradim posebno onda se verovatno i na Yes i na No odradi isto, u zavisnosti šta napišem unutar greške 2169. Čini mi se da ovo Me.undo ne odrađuje ono što treba
 
Odgovor na temu

djux66
Beograd

Član broj: 66577
Poruke: 74
*.amres.ac.rs.

Sajt: www.mmveriga.co.rs


+9 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"03.08.2017. u 10:14 - pre 81 meseci
Primer koji ti je prikazao Dexxxl isto odrađuje posao, a možeš i ovako da uradiš:

Izdvoji kod koji ti služi za validaciju podataka, i koristi Tag property na TextBox-u da označiš polja koja su obavezna tipa "required".
Za highlight kontrola bih ti preporučio ovaj primer http://www.allenbrowne.com/highlight.html

Code:

Option Compare Database
Option Explicit

Private Sub Form_BeforeUpdate(Cancel As Integer)

Dim message As String
message = "Niste popunili neka obavezna polja: " & Chr(10) & "Ako želite da prekinete kliknite na Yes"

If (IsRecordValid = False) Then
    Cancel = True
    If MsgBox(message, vbExclamation + vbYesNo, "Brisanje artikla") = vbYes Then
        Me.Undo
        DoCmd.GoToRecord , , acLast
    End If
End If

End Sub

Private Function IsRecordValid() As Boolean
 Dim ctl As Control
 Dim isEmpty, isRequired As Boolean
 
 IsRecordValid = True
 
 For Each ctl In Me.Controls
    If (ctl.ControlType = acTextBox) Then
        isEmpty = ctl.Value & "" = ""
        isRequired = ctl.Tag = "required"
        
        If (isEmpty And isRequired) Then
            ctl.SetFocus
            IsRecordValid = False
            Exit For
        End If
        
    End If
    
 Next
End Function


Prikačeni fajlovi
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"03.08.2017. u 12:08 - pre 81 meseci
Djux66, i Vaš primer, kao i primer od Dexxxl-a, posle prve poruke Niste popunili neka obavezna polja... bez obzira da li se klikne na Yes ili No izbacuje sledeću poruku kao na slici . Kod Dexxxl-a ispiše da je to poruka 2169 al to je to. Nikako da uspem da sa jednom porukom sa klikom na Yes da prekine a na No da me vrati da popuni ono što treba. Uspem da podesim da mi na Yes prekine, al nikako na No neće da me vrati.
 
Odgovor na temu

djux66
Beograd

Član broj: 66577
Poruke: 74
*.amres.ac.rs.

Sajt: www.mmveriga.co.rs


+9 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"03.08.2017. u 13:11 - pre 81 meseci
Primer koji sam ja okačio radi, jedino ako ne koristiš isti primer ili pokušavaš nasilno da zatvoriš formu u toku unosa, u tom slučaju može da se pojavi ovaj error.
U tvom primeru koji si okačio na početku ti pokušavaš na before update event obrišeš record koji još nije ni snimljen, umesto toga koristi:

Cancel = True što sprečava snimanje
i
Me.Undo koji poništava unete podatke

 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"03.08.2017. u 14:57 - pre 80 meseci
Djux66, verovatno se nismo dobro razumeli. To mi se dešava kada hoću da zatvorim formu na X, kao što vi kažete nasilno, čini mi se da sam to naveo u prvom postu. Ja sam hteo da kada nisu uneseni svi obavezni podaci a klikne se na X da se sa Yes izlazi a sa No vraća da se dovrši unos.
 
Odgovor na temu

djux66
Beograd

Član broj: 66577
Poruke: 74
*.amres.ac.rs.

Sajt: www.mmveriga.co.rs


+9 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"04.08.2017. u 08:36 - pre 80 meseci
Onda moraš da napraviš dugme za zatvaranje forme, a da zabraniš korišćenje x tj. close button = no

Prikačeni fajlovi
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Zaobilaženje greške "You cannot save the record at this time"04.08.2017. u 11:46 - pre 80 meseci
Hvala, djux66, to sam i uradio, ali sam mislio da može nešto da se uradi sa close button-om. Al pošto ne može, to je to. Hvala još jednom.
 
Odgovor na temu

[es] :: Access :: Zaobilaženje greške "You cannot save the record at this time"

[ Pregleda: 2622 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.