[ rstevic @ 17.09.2009. 12:42 ] @
Kako neku Hexadecimalnu vrednost npr 800CB9 konvertovati u decimalnu npr. 8391865, postoji li takva F-ja?
To bi bila F-ja inverzna od F-je Hex(number).
[ captPicard @ 17.09.2009. 13:58 ] @
http://www.4tops.com/ms_access_tips/decfunc.htm
[ rstevic @ 17.09.2009. 14:56 ] @
Tacno tako, kada u immediate prozor ukucam ?Str(&HABC) on mi vrati 2748.
Medjutim meni treba da &H vrednost koju imam u VBA pretvorim u dec, kao u sledecem kodu

dec = Me.Text0
HEKS = Hex(dec)
HEKSFULL = "800" & HEKS
KONVERT = ???????? (ovde bi trebao da vratim u decimal ili Int)
Me.Text2 = HEKSFULL
[ Getsbi @ 17.09.2009. 15:26 ] @
Funkcija cStr() vraća string.
To što dobiješ sa cStr(), stavi kao argument funkciji Val() i dobićeš numerik.
Znači Val(cStr(&HABC)) = 2748
Sa ovim dalje možeš da računaš. Ako si to hteo.
[ rstevic @ 18.09.2009. 07:29 ] @
Ne, ne zelim da racunam, ocigledno je da nisam dobro objasnio evo.

imam promenljivu koja se zove HEKSFULL (nazvao sam je HEKSFULL a ne HEXFULL da slucajno ACCESS ne bi prepoznao HEX kao kljucnu rec).
i kada ja sada napisem da mi je promenljiva KONVERTED = Val(Cstr(&HHEKSFULL)) imam Compile Error.
Debuger markira & i napise expected expression.
Znaci da tu negde gresim i nikako da pogodim ispravnu sintaksu, inace pokusavam da napisem svega nekoliko redova coda da bih dobio jedan broj koji citac beskontaktne kartice vidi kada se kartica prinese citacu.
Ovo samo zbog toga da bih pri registraciji nove kartice ustedeo minut ili dva (za svaku novu karticu).
Problem mi je dakle sta napisati iza &H da bi on prihvatio da je to neka promenljiva ciju vrednost treba uzeti.
[ cdorde @ 18.09.2009. 08:28 ] @
"captPicard" te je lijepo uputio.

Nemožeš spojiti dva stringa tako što napišeš :

&HHEKSFULL

već

"&H" + HEKSFULL

ili

"&H" & HEKSFULL

Onda primjeniš captPicard-ov komentar:

KONVERT=CLNG("&H" + HEKSFULL)

ili

KONVERT=VAL("&H" + HEKSFULL)


zavisno sa "kolikim" brojevima radiš.
[ rstevic @ 18.09.2009. 09:12 ] @
E to je to, pogresno sam pisao, sada radi.
HVALA! HVALA!