Bosna i Hercegovina



#1 12.04.2019-10:46
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: 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

DownloadIzvorni kod (vb.net):
  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 fajlu: rar  Proba.rar
Preuzimanja: 45
Veličina: 103.82 KB


Pozdrav
↑  ↓

#2 13.04.2019-21:09
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,944


Subject: Re: Upis u tablicu
Posto nazivi polja nisu isti napisai parentna polja sta se u sta upisuje.
Napisi listu.
Pozdrav
↑  ↓

#3 14.04.2019-08:18
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Upis u tablicu
U međuvremenu sam uspio prepisivanje riješiti sa dvije funkcije:

DownloadIzvorni kod (vb.net):
  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

DownloadIzvorni kod (vb.net):
  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 Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,944


Subject: 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
Pozdrav
↑  ↓

#5 14.04.2019-10:33
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: 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 komentar je mijenjan 1 puta. zadnja izmjena 14.04.2019-10:45 od strane pmiroslav. ↑  ↓

#6 14.04.2019-21:16
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,944


Subject: 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.
Pozdrav
↑  ↓

#7 15.04.2019-06:38
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: 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 fajlu: rar  Proba_MP.rar
Preuzimanja: 61
Veličina: 85.75 KB


Pozdrav
↑  ↓

#8 17.04.2019-23:09
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,944


Subject: 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.
DownloadIzvorni kod (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

Pozdrav
↑  ↓

#9 18.04.2019-06:23
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


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

#10 18.04.2019-16:49
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: 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

Ikona prilozene slike:
Image2.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 50
Veličina: 282.17 KB
Veličina slike: 763 x 272 Pixels


Pozdrav
↑  ↓

#11 18.04.2019-17:12
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,634


Subject: Re: Upis u tablicu
DownloadIzvorni kod (Visual Basic):
  1. For I = 1 To 2
  2. rs2.AddNew
  3. rs2!IdTransakcije = IdTransakcije(I)
  4. rs2!Sifra = rs1!Sifra
  5. IF I=1 Then rs2!Ulaz = rs1!Kolicina
  6. IF I=2 Then rs2!Izlaz = rs1!Kolicina
  7. rs2.Update
  8. Next I
↑  ↓

#12 18.04.2019-18:30
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,405


Subject: Re: Upis u tablicu
To je to, jedino što ulaz - izlaz treba zamijeniti mjesto

IF I=1 Then rs2!Izlaz = rs1!Kolicina
IF I=2 Then rs2!Ulaz = rs1!Kolicina

Tako je. Hvala
Pozdrav
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 24.08.2019-14:23.