Prikazi cijelu temu 01.10.2012 11:00
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Lokacija:Osijek


Predmet:Funkcija molim pomoć
Napravio sam funkciju za storniranje računa.
Podaci sa računa upisani su u tblProdaja
Ako je račun proknjiženi tada su podaci upisani u tblTransakcij i tblUlazIzlaz i funkcija 'Storniraj' odradi svoj posao kako treba.
Međutim ako račun nije proknjižen tada treba promjeniti podatke samo u tblProdaj, a tblTransakcije i tblUlazIzlaz zaobići.
Trebao bih pomoć za priloženu funkciju kako da zaoniđem Rs1 i Rs2

PreuzmiIzvorni kôd (vbnet):
  1. Function Storniraj(OrderID As String)
  2. On Error GoTo Err_Storniraj
  3.  
  4. Dim Db As Database
  5. Dim Rs1 As Recordset
  6. Dim Rs2 As Recordset
  7. Dim Rs3 As Recordset
  8. Dim SQL1 As String
  9. Dim SQL2 As String
  10. Dim SQL3 As String
  11. Dim IDTransakcije As Integer
  12.  
  13. If OrderID = 0 Then GoTo Kraj
  14.  
  15. Set rcs = Nothing
  16.  
  17. Set Db = CurrentDb()
  18.  
  19. IDTransakcije = DLookup("[IDtransakcije]", "TblTransakcije", "[BrDokumenta] ='" & OrderID & "'")
  20.  
  21. SQL1 = "SELECT * FROM tblTransakcije WHERE BrDokumenta='" & OrderID & "'"
  22. SQL2 = "SELECT * FROM tblUlazIzlaz WHERE IDTransakcije=" & IDTransakcije
  23. SQL3 = "SELECT * FROM tblProdaja WHERE OrderID='" & OrderID & "'"
  24.  
  25. Set Rs1 = Db.OpenRecordset(SQL1, dbOpenDynaset)
  26. Set Rs2 = Db.OpenRecordset(SQL2, dbOpenDynaset)
  27. Set Rs3 = Db.OpenRecordset(SQL3, dbOpenDynaset)
  28.  
  29.  
  30. ' Ovaj dio se ne treba odraditi ako je IDTransakcije = Null
  31. '---------------------------------------------------------------
  32.  'U tblTransakcije upisuje se '0' u polje Brisanje
  33. If Rs1.RecordCount > 0 Then
  34. Do While Not Rs1.EOF
  35. Rs1.Edit
  36. Rs1!Brisanje = 0
  37. Rs1.Update
  38. Rs1.MoveNext
  39. Loop
  40. End If
  41.  
  42.  ' U tblUlazIzlaz upisuje se '0' u polje status
  43. If Rs2.RecordCount > 0 Then
  44. Do While Not Rs2.EOF
  45. Rs2.Edit
  46. Rs2!Status = 0
  47. Rs2.Update
  48. Rs2.MoveNext
  49. Loop
  50. End If
  51. '--------------------------------------------------------------
  52.  
  53. ' U tblProdaja upisuje se 'False' u polje Proklnjizeno i '0' u polje Strornirano
  54.  
  55.  
  56. If Rs3.RecordCount > 0 Then
  57. Do While Not Rs3.EOF
  58. Rs3.Edit
  59. Rs3!Proknjizeno = False
  60. Rs3!Stornirano = 0
  61. Rs3.Update
  62. Rs3.MoveNext
  63. Loop
  64. End If
  65.  
  66.  
  67. Rs1.Close
  68. Rs2.Close
  69. Rs3.Close
  70.  
  71. Set Db = Nothing
  72.  
  73. Izlaz:
  74. Exit Function
  75. Err_Storniraj:
  76. MsgBox "Greska broj " & err.Number & vbCrLf & err.Description & vbCrLf & "u funkciji Storniraj()"
  77.  
  78. Kraj:
  79. MsgBox "Niste popunili sve podatke"
  80. End Function

Pozdrav