[ sule99 @ 27.10.2009. 08:39 ] @
| Pozdrav svima!
Molio bih za malu pomoć. Radim nekakvu aplikaciju u Access 2007 i sad mi je potrebno na formi u jedno polje da se automatski unosi nekakav broj iz registra koji se sastoji od 7 znamenaka. Kako se taj broj generira? Evo ovako: U posebnoj tablici Identifikatori je zapisan samo jedan redak koji sadrzi broj od 6 znamenaka (ime kolone je Identifikator). Ja bi trebao kroz vba kod uzeti tu vrijednost Identifikatora (i naravno pohraniti u neku varijablu), nakon toga povečati broj za 1 i pohraniti ga ponovno nazad u tablicu Identifikatori (zapravo napraviti update kolone Identifikator). E sad imam nekih problema kako "ugraditi" SQL naredbe SELECT i UPDATE u taj VBA kod da mi te vrijednosti koje dohvati spremi u neke varijable koje ću ja kasnije koristit u funkciji za izračun sedme kontrolne znamenke koju ću zaljepiti na taj šesteroznamenkasti broj i spremiti u formi u polje "broj iz registra".
I sad još skračeno, trebam da mi rezultat Query-a "Select Identifikator from Identifikatori" spremi u neku varijablu tipa Integer (to je jedan redak pa će uvijek taj select vratiti jednu vrijednost), te da mi napravi "UPDATE Identifikatori SET Identifikator = Identifikator_+_1" kroz vba kod.
Hvala. |
[ captPicard @ 27.10.2009. 09:07 ] @
možda ovako nekako?
Code:
select identifikator+1 from tablica
[ sule99 @ 27.10.2009. 09:16 ] @
meni treba da rezultat tog selecta koji sam napisao pohrani u neku varijablu tipa Integer
[ captPicard @ 27.10.2009. 10:13 ] @
Code:
select identifikator+1 as rezultat from tablica
Dim i as integer
'tu izvrši upit
i = query!rezultat
[ sule99 @ 27.10.2009. 11:25 ] @
Dim MySQL As String
Dim Identifikator As Long
Dim rs As Recordset
Dim mdb As Database
MySQL = "SELECT Identifikator from Identifikatori"
Set mdb = CurrentDb
Set rs = mdb.OpenRecordset(MySQL)
Identifikator = rs!Identifikator
rs.Close
Set rs = Nothing
Ovo je rješenje :)
[ Trtko @ 27.10.2009. 16:03 ] @
Najednostavnije ti je sa naredbama Dlookup ili Dmax
Znači ako želiš uzeti največi identifikator
najveci=Dmax("identifikator","tablicaidentifikator")
tu nema dileme, funkcija če uzeti največi identifikator iz tablice
ali ako želiš uzeti baš određeni identifikator onda dlookup
odredjeni=Dlookup("identifikator","tablicaidetifikator","identifikator=" & neki_identifikator_sa_tvoje forme)
još bi mogao dodati i funkciju NZ, pa ako ne postoji da ti u varijablu vrati ono sto ti upises
npr
najveci=NZ(Dmax("identifikator","tablicaidentifikator") , 0 )
ili
najveci=NZ(Dmax("identifikator","tablicaidentifikator") , 123456)
itd.....
Pozdrav
[ sule99 @ 28.10.2009. 07:40 ] @
Hvala na odgovorima, sve radi kako treba :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.