Prikazi cijelu temu 14.04.2019 09:18
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Lokacija:Osijek


Predmet:Re: Upis u tablicu
U međuvremenu sam uspio prepisivanje rijeÅ¡iti sa dvije funkcije:

PreuzmiIzvorni kôd (vbnet):
  1. Function ProknjiziMS_I(ID As String) 'Medjuskladusna otpremnica izlaz
  2. On Error GoTo Err_ProknjiziMS_I
  3. Dim db As Database
  4. Dim rs1 As Recordset
  5. Dim rs2 As Recordset
  6. Dim rs3 As Recordset
  7. Dim Rs4 As Recordset
  8. Dim SQL As String
  9. Dim SQL1 As String
  10. Set rcs = Nothing
  11. Set db = CurrentDb()
  12. SQL = "SELECT * FROM tblDokumenti WHERE ID='" & ID & "'"
  13. SQL1 = "SELECT * FROM tblDokumentiStavke WHERE ID='" & ID & "'"
  14. Set rs1 = db.OpenRecordset(SQL)
  15. Set rs2 = db.OpenRecordset("tblTransakcije")
  16. Set rs3 = db.OpenRecordset(SQL1)
  17. Set Rs4 = db.OpenRecordset("tblUlazIzlaz")
  18.  ' Upis u tbl_Transakcije
  19. Do While Not rs1.EOF
  20. rs2.AddNew
  21. rs2!Datum = rs1!Datum
  22. rs2!Skladiste = rs1!Skladiste
  23. rs2!IDdokumenta = rs1!IDdokumenta
  24. rs2!BrDokumenta = rs1!ID
  25. rs2!PartnerID = rs1!PartnerID
  26. rs2!OperID = tkoRadiIme() & " " & tkoRadiPrezime()
  27. rs2!StatusTR = 2 'Izlaz
  28. rs2.Update
  29. rs1.MoveNext
  30. Loop
  31. ' Upis u Tbl_UlazIzlaz
  32. Do While Not rs3.EOF
  33. Rs4.AddNew
  34. Rs4!IDTransakcije = DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & ID & "'And [Skladiste]='" & Skl & "'")
  35. Rs4!Sifra = rs3!Sifra
  36. Rs4!Izlaz = rs3!Kolicina
  37. Rs4.Update
  38. rs3.MoveNext
  39. Loop
  40. rs3.Close
  41. Rs4.Close
  42. Set db = Nothing
  43. Izlaz:
  44. Exit Function
  45. Err_ProknjiziMS_I:
  46. MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji ProknjiziMS()"
  47. Kraj:
  48. MsgBox "Niste popunili sve podatke"
  49. End Function

i

PreuzmiIzvorni kôd (vbnet):
  1. Function ProknjiziMS_U(ID As String) 'Medjuskladusna otpremnica ulaz
  2. On Error GoTo Err_ProknjiziMS_U
  3. Dim db As Database
  4. Dim rs1 As Recordset
  5. Dim rs2 As Recordset
  6. Dim rs3 As Recordset
  7. Dim Rs4 As Recordset
  8. Dim SQL As String
  9. Dim SQL1 As String
  10. Set rcs = Nothing
  11. Set db = CurrentDb()
  12. SQL = "SELECT * FROM tblDokumenti WHERE ID='" & ID & "'"
  13. SQL1 = "SELECT * FROM tblDokumentiStavke WHERE ID='" & ID & "'"
  14. Set rs1 = db.OpenRecordset(SQL)
  15. Set rs2 = db.OpenRecordset("tblTransakcije")
  16. Set rs3 = db.OpenRecordset(SQL1)
  17. Set Rs4 = db.OpenRecordset("tblUlazIzlaz")
  18.  ' Upis u tbl_Transakcije
  19. Do While Not rs1.EOF
  20. rs2.AddNew
  21. rs2!Datum = rs1!Datum
  22. rs2!Skladiste = rs1!Skladiste_2
  23. rs2!IDdokumenta = rs1!IDdokumenta
  24. rs2!BrDokumenta = rs1!ID
  25. rs2!PartnerID = rs1!PartnerID
  26. rs2!OperID = tkoRadiIme() & " " & tkoRadiPrezime()
  27. rs2!StatusTR = 1 'Ulaz
  28. rs2.Update
  29. rs1.MoveNext
  30. Loop
  31. ' Upis u Tbl_UlazIzlaz
  32. Do While Not rs3.EOF
  33. Rs4.AddNew
  34. Rs4!IDTransakcije = DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & ID & "'And [Skladiste]='" & Skl & "'")
  35. Rs4!Sifra = rs3!Sifra
  36. Rs4!Ulaz = rs3!Kolicina
  37. Rs4.Update
  38. rs3.MoveNext
  39. Loop
  40. rs3.Close
  41. Rs4.Close
  42. Set db = Nothing
  43. MsgBox "Stavke sa Dokumenta broj: " _
  44. & Format(IDdokumenta, "00-00000") & " su knjižene!", vbOKOnly, "Potvrda"
  45. Izlaz:
  46. Exit Function
  47. Err_ProknjiziMS_U:
  48. MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji ProknjiziMS()"
  49. Kraj:
  50. MsgBox "Niste popunili sve podatke"
  51. End Function

Razlika u ove dvije funkcije je u
22 redu rs2!Skladiste - prvi puta je rs1!Skladiste, a drugi puta je rs1!Skladiste_2
27 red rs2!StatusTR prvi puba je 1, a drugi puta 2

Ja sam mislio da ovo bude sve u jednoj funkciji ali i ovo mi odradi posao.

Ove funkcije pozivam sa dugmeta

Private Sub Command63_Click()

ProknjiziMS_I Me.ID
ProknjiziMS_U Me.ID

Me.Proknjizeno = 1
Me.Box66.BackColor = 65408
End Sub

Ali ima tu joÅ¡ jedan problem u slučaju neke greÅ¡ke kod kod izvrÅ¡avanja ovih funkcija, podaci se ne prepiÅ¡u ali se odradi naredba na dugmetu

Me.Proknjizeno = 1
Me.Box66.BackColor = 65408

Kako ovo spriječiti?
Pozdrav