pmiroslav 15.02.2012 15:52
Predmet:Kako spriječiti zatvaranje forme bez podatka u subformi

Imam formu koja se zove frmOtpremnica i u njoj subformu frmOtpremnicaSub.
U frmOtpremnica upisuje se zaglavlje otpremnice a u subformu stavke otpremnice.
Ponekad se dogodi da korisnik popuni zaglavlje, a ne unese stavke u subformu pa formu zatvori.
Kako spriječiti da se zatvori forma ako nema podataka u subformi ?
Nakon toga u tblOtpremnica imam broj otpremnice (OtprmnicaID) i ostale podatke, a u tblOtpremnicaStavke nemam uneseno ništa za tu otpremnicu.

zxz 15.02.2012 16:34
Predmet:Re: Kako spriječiti zatvaranje forme bez podatka u subformi

PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Form_Unload(Cancel As Integer)
  2. Dim Rs As Recordset
  3.  
  4. Set Rs = Me.RecordsetClone
  5. If Rs.RecordCount > 0 Then
  6.     Set Rs = [ImeSubforme].Form.RecordsetClone
  7.     If Rs.RecordCount > 0 Then
  8.     Cancel = 0
  9.     Else
  10.     Cancel = 1
  11.     End If
  12. End If
  13. End Sub

Ovo ce ti raditi ako ti je glabna forma na dataentry inace neces moci izaci nikako kada udjes dok nesto ne napises.

pmiroslav 16.02.2012 09:16
Predmet:Re: Kako spriječiti zatvaranje forme bez podatka u subformi

Hvala na oveme. A ja sam još malo doradio:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Form_Unload(Cancel As Integer)
  2. Dim Rs As Recordset
  3. Set Rs = Me.RecordsetClone
  4. If Rs.RecordCount > 0 Then
  5.     Set Rs = [frmOtpremnicaSub].Form.RecordsetClone
  6.     If Rs.RecordCount > 0 Then
  7.     Cancel = 0
  8.     Else
  9. If MsgBox("Niste upisali stavke racuna." _
  10. & vbCrLf & "Za brisanje pritisnite 'OK'" _
  11. & vbCrLf & "Za nastavak rada pritisnite 'Cancel'", vbOKCancel, "GRESKA!") = vbOK Then
  12.  
  13.     DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
  14.     DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
  15.     GoTo Kraj
  16. Else
  17. DoCmd.CancelEvent
  18. End If
  19.     Cancel = 1
  20.     End If
  21. End If
  22. Kraj:
  23. End Sub