Prikazi cijelu temu 24.03.2019 16:31
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Lokacija:Ohrid Makedonija


Predmet:Re: VBA kod za traženje zapisa po tablicama i promjenu vrijednosti
PreuzmiIzvorni kôd (Visual Basic):
  1. Dim Vodomjer As String     'Stari broj vodomjera
  2. Dim Novi As String         'Novi broj vodomjera
  3. Dim NMarka As String       'Nova marka vodomjera
  4. Dim Profil As String       'Novi profil vodomjera
  5. Dim Gotovo As Variant      'Potvrdni okvir za knjiženje
  6. Dim db As DAO.Database
  7. Dim rs As DAO.Recordset
  8. Dim rsIzmena As DAO.Recordset
  9. Dim strSQL As String
  10. Dim strSQL_Kupci As String
  11.  
  12. 'Prvo bi trebalo napraviti kontrolu da se vidi da li je aktiviran gumb za knjiženje; ako je aktivan
  13. If Me.Gotovo = True Then   ' Ovo je checkBox aktiviran gumb
  14.   MsgBox "Vec proknizen"
  15.    Exit Sub
  16. End If
  17.  
  18. Vodomjer = Broj_vodomjera
  19. Novi = NoviVodomjer
  20. NMarka = MarkaNovog      ' Nisam siguran za ovo mislam da je ovo kljuc pa tu bi trebalo biti ID
  21. Profil = ProfilNovog
  22. 'poruka da je knjiženje izvršeno i izlaz, a ako nije onda treba u tablicu vodomjeri dodat novi red
  23. 'koji bi bio kopija reda sa starim vodomjerom uz izmjenu Broja vodomjera, datuma ugradnje, marke i profila sve ide iz izmjene (polja - Novi,NMarka,Profil)
  24.  
  25.  strSQL = "SELECT * FROM Vodomjeri WHERE Broj_vodomjera='" & Vodomjer & "'"
  26.  
  27. Set db = CurrentDb
  28. Set rs = db.OpenRecordset(strSQL)
  29. Select Case rs.RecordCount
  30.        Case 0
  31.                MsgBox "Ne postoi vodomjer sa taj broj"
  32.        Case 1
  33.           rs.AddNew
  34.           ' Prenos od stari vodomer
  35.          rs.Fields("Broj_vodomjera") = rs.Fields("Broj_vodomjera")
  36.           rs.Fields("Radio_Adresa") = rs.Fields("Radio_Adresa")
  37.           rs.Fields("Sifra") = rs.Fields("Sifra")
  38.           rs.Fields("Marka") = rs.Fields("Marka")
  39.           rs.Fields("Datum_ugradnje") = rs.Fields("Datum_ugradnje")
  40.           rs.Fields("Promjer") = rs.Fields("Promjer")
  41.           rs.Fields("Ulica") = rs.Fields("Ulica")
  42.           rs.Fields("Kc_br") = rs.Fields("Kc_br")
  43.           rs.Fields("Naselje") = rs.Fields("Naselje")
  44.           rs.Fields("Komentar") = rs.Fields("Komentar")
  45.           rs.Fields("Tip_Modula") = rs.Fields("Tip_Modula")
  46.           rs.Fields("Period_ocitavanja") = rs.Fields("Period_ocitavanja")
  47.           rs.Fields("Medij") = rs.Fields("Medij")
  48.           rs.Fields("Kontrolni_broj") = rs.Fields("Kontrolni_broj")
  49.           rs.Fields("Tip_vodomjera") = rs.Fields("Tip_vodomjera")
  50.           rs.Fields("Status_vodomjera") = rs.Fields("Status_vodomjera")
  51.           rs.Fields("Multiplikator") = rs.Fields("Multiplikator")
  52.           rs.Fields("Dijelitelj") = rs.Fields("Dijelitelj")
  53.           ' Izmjena za novi vodomer
  54.          rs.Fields("Broj_vodomjera") = Novi
  55.           rs.Fields("Datum_ugradnje") = Now()
  56.           rs.Fields("Tip_vodomjera") = NMarka
  57.           'rs.Fields("Promjer") = Profil  ' ova ne znam sta je i koe polje treba biti u tabeli
  58.          rs.Update 'umjesto update bi trebalo da doda novi red
  59.                      
  60.          ' Izmjena na Kupci_Vodomjeri
  61.         strSQL_Kupci = "SELECT * FROM Kupci_Vodomjeri WHERE Broj_vodomjera='" & Vodomjer & "' AND Sifra_kupca=" & Sifra_kupca
  62.          Set rsIzmena = db.OpenRecordset(strSQL_Kupci)
  63.              rsIzmena.Edit
  64.              rsIzmena.Fields("Broj_vodomjera") = Novi
  65.              rsIzmena.Update 'umjesto update bi trebalo da doda novi red
  66.             MsgBox "Uspesana izmena"
  67.        Case Is > 1
  68.              MsgBox "ima povecanje od jedan vodomjer u tabeli"
  69. End Select
  70.  
  71. rs.Close
  72. rsIzmena.Close
  73. db.Close
  74. Set rs = Nothing
  75. Set rsIzmena = Nothing
  76. Set db = Nothing


Ovo je varijanta sa izmjena