Centar za edukaciju-BiH



#1 12.04.2019 10:46
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Upis u tablicu
PokuÅ¡avam iz tablice "tblDokumenti" i "tbldokumentiStavke" pomoću koda kopirati podatke u "tblTransakcije" i "tblUlazIzlaz"
Kako se radi o međuskladiÅ¡noj otpremnici trebam automatski napraviti Izlaz sa skladiÅ¡ta 020 i ulaz na skladiÅ¡te 025.
Zato bi u trebalo da se jedan zapis iz tablice tblDokumenti" i vezani zapis iz "tbldokumentiStavke" dve puta upiše u "tblTransakcije" i "tblUlazIzlaz". Ralika kod ova dva upisa treba biti u oznaci sklasišta:

rs2!Skladiste = rs1!Skladiste

rs2!Skladiste = rs1!Skladiste_2

Te status transakcije (1 - ulaz, 2 - Izlaz)

Ja sam poušao sa priloženim kodom ali ne radi

PreuzmiIzvorni kôd (vbnet):
  1. Function ProknjiziMS(ID As String) 'Medjuskladusnaotpremnica
  2. On Error GoTo Err_ProknjiziMS
  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.  
  11. Set rcs = Nothing
  12.  
  13. Set db = CurrentDb()
  14.  
  15. SQL = "SELECT * FROM tblDokumenti WHERE ID='" & ID & "'"
  16. SQL1 = "SELECT * FROM tblDokumentiStavke WHERE ID='" & ID & "'"
  17.  
  18. Set rs1 = db.OpenRecordset(SQL)
  19. Set rs2 = db.OpenRecordset("tblTransakcije")
  20. Set rs3 = db.OpenRecordset(SQL1)
  21. Set Rs4 = db.OpenRecordset("tblUlazIzlaz")
  22.  
  23.  ' Upis u tbl_Transakcije
  24.  
  25. Do While Not rs1.EOF
  26. rs2.AddNew
  27. rs2!Datum = rs1!Datum
  28. rs2!Skladiste = rs1!Skladiste ' Veleprodja
  29. rs2!IDdokumenta = rs1!IDdokumenta
  30. rs2!BrDokumenta = rs1!ID
  31. rs2!PartnerID = rs1!PartnerID
  32.  
  33. rs2!StatusTR = 2 'Izlaz
  34.  
  35. rs2.Update
  36. rs1.MoveNext
  37. Loop
  38.  
  39. Do While Not rs1.EOF
  40. rs2.AddNew
  41. rs2!Datum = rs1!Datum
  42. rs2!Skladiste = rs1!Skladiste_2
  43. rs2!IDdokumenta = rs1!IDdokumenta 'Maloprodaja
  44. rs2!BrDokumenta = rs1!ID
  45. rs2!PartnerID = rs1!PartnerID
  46.  
  47. rs2!StatusTR = 1 'ULAZ
  48.  
  49. rs2.Update
  50. rs1.MoveNext
  51. Loop
  52.  
  53. rs1.Close
  54. rs2.Close
  55.  
  56.  
  57. ' Upis u Tbl_UlazIzlaz
  58.  
  59. Do While Not rs3.EOF
  60. Rs4.AddNew
  61. Rs4!IDTransakcije = DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & ID & "'")
  62. Rs4!Sifra = rs3!Sifra
  63. Rs4!Izlaz = rs3!Kolicina
  64. Rs4.Update
  65. rs3.MoveNext
  66. Loop
  67. rs3.Close
  68. Rs4.Close
  69.  
  70. Set db = Nothing
  71.  
  72. Izlaz:
  73. Exit Function
  74. Err_ProknjiziMS:
  75. MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji ProknjiziMS()"
  76.  
  77. Kraj:
  78. MsgBox "Niste popunili sve podatke"
  79. End Function


Prilozi:
Informacije o tipu datoteke za:rar  Proba.rar
Preuzimanja:282
Velicina datoteke:103.82 KB


Pozdrav
↑  ↓

#2 13.04.2019 21:09
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Upis u tablicu
Posto nazivi polja nisu isti napisai parentna polja sta se u sta upisuje.
Napisi listu.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 14.04.2019 08:18
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


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
↑  ↓

#4 14.04.2019 10:24
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Upis u tablicu
Hajd da ovo malo uredimo.
Set rcs = Nothing
Neznam sto ce ti ovo jer ne vidim da koristis ovu variablu.
Rs4!IDTransakcije = DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & ID & "'And [Skladiste]='" & Skl & "'")

Variabla Skl nije nigdje definisana ili ja to ne vidim.
Poslije cemo ovop svesti na jednu funkciju
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 14.04.2019 10:33
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Upis u tablicu
Treba samo sai izgleda izostavio u primjeru

Dim Skl As String

U prvoj funkciji treba
Skl = rs1!Skladiste

A u drugoj
Skl = rs1!Skladiste_2

Radi se o međuskladiÅ¡noj otpremnici. Podatke upisujem u tblDokumenti i tblDokumentiStavke.
Znači saveleprodajnog skladiÅ¡ta (skladiÅ¡te) skidam robu, a na maloprodajno skladiÅ¡te (skladižte_2) dodajem robu.
Kada upišem jedan podatak u tblDokumenti nakon toga u tblTransakcije trebam upisati tva podatka
-Transakciju za izlaz sa skladišta i transakciju az ulaz na drugo skladište
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 14.04.2019 10:45 od strane pmiroslav. ↑  ↓

#6 14.04.2019 21:16
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Upis u tablicu
Htio sam ovo popraviti ali izgleda mije orginal app.
imas i ovo:
DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & ID & "'And [Skladiste]='" & Skl & "'")
ovdje nemoze biti skl skladiste_2 jer ga nema u tabeli TblTransakcije.
imas i ove funkcije negdje
tkoRadiIme() & " " & tkoRadiPrezime()
Citaju ime i prezime.
moze se to bolje napraviti.
Neznam stao ti trebaju polja skladiste i skladiste_2
Kad bi stavio orginal lakse bi komunicirali.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 15.04.2019 06:38
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Upis u tablicu
U tablici tblDokumenti imaš Skladiste i Skladiste_2.
Kada se radi o MeđuskladiÅ¡noj otpremnici tada se roba prebacuje sa skladiÅ¡ta na skaldiÅ¡te_2.
u tblTransakcije za jedan zapis iz tblDokumenti prave se dva zapisa u tblTransakcije.

1 Izlaz (u polje skladiste upisuje se "Skladiste" iz tblDokumenti i statusTR =2
2 Ulaz (u polje skladiste upisuje se "Skladiste_2" iz tblDokumenti i statusTR =1

Također i vezani slogovi iz tblDokumentiStavke u tblUlazIzlaz

Ovo tkoRadiIme() & " " & tkoRadiPrezime() za sada nije bitno jer se ti podaci spremaju u memoriju kod logiranja. To se sada može izostaviti,

Evo primjer:

Prilozi:
Informacije o tipu datoteke za:rar  Proba_MP.rar
Preuzimanja:307
Velicina datoteke:85.75 KB


Pozdrav
↑  ↓

#8 17.04.2019 23:09
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Upis u tablicu
Evo valjda je to to.
Ako bude nekih greski u zapisima javi.
Nisam imao puno vremena pa nisam bas sve ni iscitao do kraja.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function ProknjiziMS(ID As String) 'Medjuskladusnaotpremnica
  2. On Error GoTo Err_ProknjiziMS_U
  3. Dim db As Database
  4. Dim rs1 As Recordset, rs2 As Recordset
  5. Dim SQL1 As String, SQL2 As String, Skladiste(2) As String
  6. Dim I As Integer, IdTransakcije(2) As Integer
  7.  
  8. Set db = CurrentDb()
  9. SQL1 = "SELECT * FROM tblDokumenti WHERE ID='" & ID & "'"
  10. SQL2 = "SELECT * FROM tblTransakcije"
  11. Set rs1 = db.OpenRecordset(SQL1)
  12. Set rs2 = db.OpenRecordset(SQL2)
  13.  
  14.  ' Upis u tbl_Transakcije
  15. Skladiste(1) = rs1!Skladiste
  16. Skladiste(2) = rs1!Skladiste_2
  17. For I = 1 To 2
  18. rs2.AddNew
  19. rs2!Datum = rs1!Datum
  20. rs2!Skladiste = Skladiste(I)
  21. rs2!IDdokumenta = rs1!IDdokumenta
  22. rs2!BrDokumenta = rs1!ID
  23. rs2!PartnerID = rs1!PartnerID
  24. rs2!OperID = "aa" 'tkoRadiIme() & " " & tkoRadiPrezime()
  25. rs2!StatusTR = I
  26. rs2.Update
  27. rs2.MoveLast
  28. IdTransakcije(I) = rs2!IdTransakcije
  29. Next I
  30. rs1.Close
  31. rs2.Close
  32. SQL1 = "SELECT * FROM tblDokumentiStavke WHERE ID='" & ID & "'"
  33. SQL2 = "SELECT * FROM tblUlazIzlaz"
  34. Set rs1 = db.OpenRecordset(SQL1)
  35. Set rs2 = db.OpenRecordset(SQL2)
  36. ' Upis u Tbl_UlazIzlaz
  37. For I = 1 To 2
  38. rs2.AddNew
  39. rs2!IdTransakcije = IdTransakcije(I)
  40. rs2!Sifra = rs1!Sifra
  41. rs2!Ulaz = rs1!Kolicina
  42. rs2.Update
  43. Next I
  44.  
  45. rs1.Close
  46. rs2.Close
  47. Set db = Nothing
  48. MsgBox "Stavke sa Dokumenta broj: " _
  49. & Format(IDdokumenta, "00-00000") & " su knjižene!", vbOKOnly, "Potvrda"
  50. Izlaz:
  51. Exit Function
  52. Err_ProknjiziMS_U:
  53. MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji ProknjiziMS()"
  54. Kraj:
  55. MsgBox "Niste popunili sve podatke"
  56. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 18.04.2019 06:23
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Upis u tablicu
Evo probao sam i dobro je.
Hvala puno.
Pozdrav
↑  ↓

#10 18.04.2019 16:49
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Upis u tablicu
Ipak ima jedan problem.
Prvi upis (IDTransakcije = 2) u tblUlazIzlaz trebalo bi biti
Ulaz = 0
Izlaz =1
Drugi upis (IDtransakcije = 3) u tblUlazIzlaz je dobar
Ulaz = 1
Izlaz = 0

Slicice prilozenih slika:
Image2.jpg
Tip datoteke:Informacije o tipu datoteke za:jpg jpg
Preuzimanja:305
Velicina datoteke:282.17 KB
Velicina slike: 763 x 272 Pikseli


Pozdrav
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 8: 56 am.